DepthFirstElementWalker 類別
啟用從特定項目或項目群組開始進行的模型深度優先周遊。 提供 begin 和 end 周遊項目和其子系的告知。
繼承階層架構
System.Object
Microsoft.VisualStudio.Modeling.ElementWalker
Microsoft.VisualStudio.Modeling.DepthFirstElementWalker
Microsoft.VisualStudio.Modeling.DepthFirstElementAndLinkWalker
命名空間: Microsoft.VisualStudio.Modeling
組件: Microsoft.VisualStudio.Modeling.Sdk.12.0 (在 Microsoft.VisualStudio.Modeling.Sdk.12.0.dll 中)
語法
'宣告
Public Class DepthFirstElementWalker _
Inherits ElementWalker
public class DepthFirstElementWalker : ElementWalker
DepthFirstElementWalker 類型會公開下列成員。
建構函式
名稱 | 描述 | |
---|---|---|
![]() |
DepthFirstElementWalker(IElementVisitor, IElementVisitorFilter) | 建構函式,接收 ElementVisitor。這是預設為不使用項目連結對圖形進行深度優先周遊和預訂造訪。 |
![]() |
DepthFirstElementWalker(IElementVisitor, IElementVisitorFilter, Boolean) | 建構函式,接收 ElementVisitor。 |
回頁首
屬性
名稱 | 描述 | |
---|---|---|
![]() |
BypassDemandLoading | 允許查核器在周遊時略過視需要載入 (繼承自 ElementWalker)。 |
![]() |
Filter | 取得或設定用於周遊期間的 IElementVisitorFilter (繼承自 ElementWalker)。 |
![]() |
IncludeLinks | 如果查核器會在對造訪項函式的呼叫中納入項目連結則傳回 true (繼承自 ElementWalker)。 |
![]() |
InternalElementList | 取得將會瀏覽的項目的內部清單。 (繼承自 ElementWalker)。 |
![]() |
Store | 取得將會瀏覽的項目的內部清單。 (繼承自 ElementWalker)。 |
![]() |
Visitor | 取得或設定用於周遊期間的 IElementVisitor (繼承自 ElementWalker)。 |
回頁首
方法
名稱 | 描述 | |
---|---|---|
![]() |
BeginTraverseElement | 當查核器即將瀏覽指定的項目及它相關的項目時,會呼叫虛擬方法。 |
![]() |
DoTraverse | 從指定的起始項目開始周遊模型。 (覆寫 ElementWalker.DoTraverse(ModelElement)。) |
![]() |
EndTraverseElement | 虛擬方法會指出查核器已完成周遊至指定的項目。 |
![]() |
Equals | 判斷指定的物件是否等於目前物件。 (繼承自 Object)。 |
![]() |
Finalize | 允許物件在記憶體回收進行回收之前,嘗試釋放資源並執行其他清除作業。 (繼承自 Object)。 |
![]() |
GetHashCode | 做為預設雜湊函式。 (繼承自 Object)。 |
![]() |
GetRelatedElements | 取得應依造訪順序瀏覽的緊鄰項目清單。 |
![]() |
GetType | 取得目前執行個體的 Type。 (繼承自 Object)。 |
![]() |
MarkForRemovalFromInternalElementList | 將項目標記為從 InternalElementList 移除。我們先標示,稍後在結尾移除,以便維持有效的索引。在標記項目為已瀏覽時,我們會在 Hashtable 中儲存索引,如此可得知項目瀏覽順序。如果項目以該順序放入 InternalElementList 中,我們可以輕鬆使用索引找到項目。否則線性搜尋將用來尋找項目。 (繼承自 ElementWalker)。 |
![]() |
MarkVisited | 將項目標示為已瀏覽 (繼承自 ElementWalker)。 |
![]() |
MemberwiseClone | 建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 Object)。 |
![]() |
RemoveMarkedElements | 移除標示為移除的項目。在周遊結束時進行這項呼叫,讓 alreadyVisited 中的索引保持有效。 (繼承自 ElementWalker)。 |
![]() |
Reset | 重設訪問項,以便重新開始周遊。必須清除先前瀏覽過的項目的內部清單。 (繼承自 ElementWalker)。 |
![]() |
ShouldVisitLinkAgain | 如果在瀏覽 currentElement (其中之一角色扮演者) 之前,已瀏覽過連結,則為 true。 (繼承自 ElementWalker)。 |
![]() |
ToString | 傳回表示目前物件的字串。 (繼承自 Object)。 |
![]() |
Traverse(ModelElement) | 從指定的起始項目開始周遊模型。 (繼承自 ElementWalker)。 |
![]() |
Traverse(ICollection<ModelElement>) | 從指定的起始項目開始周遊模型。 (繼承自 ElementWalker)。 |
![]() |
Visited | 判斷是否已經查閱過指定的項目 (繼承自 ElementWalker)。 |
回頁首
備註
您可以繼承自這個類別定義查核器。 覆寫 GetRelatedElements、BeginTraverseElement 和 EndTraverseElement。
執行緒安全
這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。