DepthFirstElementWalker Class
Enables depth-first traversals of the model starting from a particular element or group of elements. Provides notification of begin and end traversing an element and its descendants.
Inheritance Hierarchy
System.Object
Microsoft.VisualStudio.Modeling.ElementWalker
Microsoft.VisualStudio.Modeling.DepthFirstElementWalker
Microsoft.VisualStudio.Modeling.DepthFirstElementAndLinkWalker
Namespace: Microsoft.VisualStudio.Modeling
Assembly: Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Syntax
'Declaration
Public Class DepthFirstElementWalker _
Inherits ElementWalker
public class DepthFirstElementWalker : ElementWalker
public ref class DepthFirstElementWalker : public ElementWalker
type DepthFirstElementWalker =
class
inherit ElementWalker
end
public class DepthFirstElementWalker extends ElementWalker
The DepthFirstElementWalker type exposes the following members.
Constructors
Name | Description | |
---|---|---|
DepthFirstElementWalker(IElementVisitor, IElementVisitorFilter) | Constructor that takes an ElementVisitor. This defaults to depth first traversal, pre-Order visitation of the graph with no element links. | |
DepthFirstElementWalker(IElementVisitor, IElementVisitorFilter, Boolean) | Constructor that takes an ElementVisitor. |
Top
Properties
Name | Description | |
---|---|---|
BypassDemandLoading | Allows the walker to bypass demand loading while traversing (Inherited from ElementWalker.) | |
Filter | Get or set the IElementVisitorFilter for use during traversal (Inherited from ElementWalker.) | |
IncludeLinks | Returns true if the walker will include element links in calls to the visitor function (Inherited from ElementWalker.) | |
InternalElementList | Get the internal list of elements that will be visited (Inherited from ElementWalker.) | |
Store | Get the internal list of elements that will be visited (Inherited from ElementWalker.) | |
Visitor | Get or set the IElementVisitor for use during traversal (Inherited from ElementWalker.) |
Top
Methods
Name | Description | |
---|---|---|
BeginTraverseElement | Virtual method called when the walker is about visit the specified element and its related elements. | |
DoTraverse | Traverse the model starting at the specified starting element. (Overrides ElementWalker.DoTraverse(ModelElement).) | |
EndTraverseElement | Virtual method indicates that the walker has finished traversing into the specified element. | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetRelatedElements | Get the list of immediately neighboring elements that should be visited, in the order in which they should be visited. | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MarkForRemovalFromInternalElementList | Mark an element for removal from the InternalElementList. We mark first and remove later at the end so that the indices remain valid. When marking elements as visited, we store an index in the hashtable which tells us the order that the element was visited in. If the elements were put into the InternalElementList in that order, we can find the element easily using the index. If not a linear search will be used to find the element. (Inherited from ElementWalker.) | |
MarkVisited | Mark an element as having been already visited (Inherited from ElementWalker.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
RemoveMarkedElements | Removes the elements that are marked for removal. Call this at the end of the traversal so that the indices in alreadyVisited remain valid. (Inherited from ElementWalker.) | |
Reset | Reset the visitor so that it can start traversing again. This is necessary to clear out the internal list of previously visited elements. (Inherited from ElementWalker.) | |
ShouldVisitLinkAgain | True if the link has been visited before the currentElement (one of its roleplayers) was visited. (Inherited from ElementWalker.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
Traverse(ModelElement) | Traverse the model starting at the specified starting element. (Inherited from ElementWalker.) | |
Traverse(ICollection<ModelElement>) | Traverse the model starting at the specified starting elements. (Inherited from ElementWalker.) | |
Visited | determines if the given element has been visited or not (Inherited from ElementWalker.) |
Top
Remarks
You can inherit from this class to define a walker. Override GetRelatedElements, BeginTraverseElement, and EndTraverseElement.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.