共用方式為


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
)

參數

傳回值

類型:Microsoft.VisualStudio.Modeling.VisitorFilterResult

實作

IElementVisitorFilter.ShouldVisitRolePlayer(ElementWalker, ModelElement, ElementLink, DomainRoleInfo, ModelElement)

.NET Framework 安全性

請參閱

參考

DslDefinitionModelDeleteClosure 類別

Microsoft.VisualStudio.Modeling.DslDefinition 命名空間