DslDefinitionModelDeleteClosure.ShouldVisitRolePlayer 方法
呼叫這個方法以要求篩選器是否應該在周遊期間造訪與 ElementLink 相關聯的特定角色扮演者。 這會覆寫產生的 ShouldVisitRolePlayer() 方法,會檢查 ElementLink 上的 PropagateDelete 屬性,來決定是否要瀏覽相關聯的角色扮演者。 在此情況下,RelationshipPort (繪製成小方格的圖案,其中關聯性連接至類別) 並未隨關聯性刪除。 原因是用來將RelationshipPort (圖案) 連線到 RoleConnector (也是圖案) 的連結是稱為 LinkConnectsToNode 的 ElementLink 的子型別。 這種連結類型的執行個體用來建立各種 NodeShapes 與 LinkShapes 的關聯,因此並不會散佈刪除,雖然在 RelationshipPort 的情況下它應該散佈刪除。 InheritancePort 存在相同的問題,就像 RelationshipPort 擴充 TogglePort 。 會為刪除期間每個瀏覽過的 ElementLink,呼叫這個方法。 如果所討論之連結為 LinkConnectsToNode 執行個體,而且 roleplayer 是 TogglePort,可能就不再需要連接埠圖案。 藉由檢查目標角色扮演者還剩餘多少連結,這個方法會傳回表示情況的結果。如果則恰好有一個通訊埠的連結則傳回 VisitorFilterResult.YES,否則傳回 VisitorFilterResult.DoNotCare。 這樣可以確保當刪除最後一個節點連結時,連接埠圖案也會一併刪除。
命名空間: Microsoft.VisualStudio.Modeling.DslDefinition
組件: Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0 (在 Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0.dll 中)
語法
'宣告
Public Overrides Function ShouldVisitRolePlayer ( _
walker As ElementWalker, _
sourceElement As ModelElement, _
elementLink As ElementLink, _
targetDomainRole As DomainRoleInfo, _
targetRolePlayer As ModelElement _
) As VisitorFilterResult
public override VisitorFilterResult ShouldVisitRolePlayer(
ElementWalker walker,
ModelElement sourceElement,
ElementLink elementLink,
DomainRoleInfo targetDomainRole,
ModelElement targetRolePlayer
)
參數
- walker
類型:Microsoft.VisualStudio.Modeling.ElementWalker
正在周遊模型的 ElementWalker
- sourceElement
類型:Microsoft.VisualStudio.Modeling.ModelElement
扮演來源角色的模型項目
- elementLink
類型:Microsoft.VisualStudio.Modeling.ElementLink
項目連結,用於形成討論的角色扮演者的關聯性。
- targetDomainRole
類型:Microsoft.VisualStudio.Modeling.DomainRoleInfo
目標角色的 DomainRoleInfo
- targetRolePlayer
類型:Microsoft.VisualStudio.Modeling.ModelElement
扮演關聯性的目標角色的模型項目
傳回值
類型:Microsoft.VisualStudio.Modeling.VisitorFilterResult
實作
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。