Partager via


DslDefinitionModelDeleteClosure.ShouldVisitRolePlayer, méthode

Cette méthode est appelée pour demander le filtre si un rôle de lecteur particulier associé à un ElementLink est visité pendant le parcours.Cela substitue la méthode générée de ShouldVisitRolePlayer (), qui examine l'attribut de PropagateDelete sur l'ElementLink pour décider si visiter le rôle de lecteurs associé.Dans ce cas, le RelationshipPort la forme dessinée comme une petite place dans une relation est connectée à une classe, n'a pas été supprimé avec la relation.La raison est que le lien utilisé pour connecter le RelationshipPort (une forme) au RoleConnector (également une forme) est un sous-type d'ElementLink a appelé LinkConnectsToNode.Des instances de ce type de lien sont utilisées pour associer différent NodeShapes avec LinkShapes etc. ne propagent pas des suppressions, bien que dans le cas de le RelationshipPort il doit.Le même problème a existé pour InheritancePort, comme RelationshipPort qui étend TogglePort.Cette méthode est appelée pour chaque ElementLink rendu visite guidée pendant une suppression.Si le lien en question est une instance de LinkConnectsToNode et le roleplayer est un TogglePort, alors la forme de port peut ne pas être plus nécessaire.En activant le nombre de liens sont laissés au rôle de lecteur cible les retours VisitorFilterResult.YES de cette méthode s'il existe un seul lien vers le port, VisitorFilterResult.DoNotCare sinon.Cela garantit que lorsque le dernier lien vers le nœud est supprimé la forme de port est également supprimée.

Espace de noms :  Microsoft.VisualStudio.Modeling.DslDefinition
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.11.0.dll)

Syntaxe

'Déclaration
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
)

Paramètres

Valeur de retour

Type : Microsoft.VisualStudio.Modeling.VisitorFilterResult

Implémentations

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

Sécurité .NET Framework

Voir aussi

Référence

DslDefinitionModelDeleteClosure Classe

Microsoft.VisualStudio.Modeling.DslDefinition, espace de noms