DslDefinitionModelDeleteClosure.ShouldVisitRolePlayer, méthode
Cette méthode est appelée pour demander le filtre si un acteur de rôle particulier associé à un ElementLink doit être visité pendant le parcours. Cela substitue la méthode ShouldVisitRolePlayer() générée, qui examine l'attribut PropagateDelete sur l'ElementLink afin de décider de visiter ou non les acteurs de rôle associés. Dans ce cas, le RelationshipPort, la forme dessinée comme un petit carré dans lequel une relation est connectée à une classe, n'a pas été supprimé avec la relation. La raison est que le lien utilisé pour connecter RelationshipPort (une forme) à RoleConnector (également une forme) est un sous-type d'ElementLink appelé LinkConnectsToNode. Les instances de ce type de lien sont utilisées pour associer différentes NodeShapes avec les LinkShapes et ne propagent donc pas les suppressions, même si cela devrait le cas dans le cas de RelationshipPort. Le même problème se posait pour InheritancePort qui, comme RelationshipPort, étend TogglePort. Cette méthode est appelée pour chaque ElementLink visité au cours d'une suppression. Si le lien en question est une instance de LinkConnectsToNode et l'acteur de rôle est un TogglePort, il se peut que la forme de port ne soit plus être nécessaire. Après avoir contrôlé le nombre de liens laissés à l'acteur de rôle cible, cette méthode retourne VisitorFilterResult.YES s'il y a un seul lien vers le port, et VisitorFilterResult.DoNotCare dans le cas contraire. Cela fait en sorte 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.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.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
- walker
Type : Microsoft.VisualStudio.Modeling.ElementWalker
ElementWalker qui parcourt le modèle
- sourceElement
Type : Microsoft.VisualStudio.Modeling.ModelElement
Élément de modèle qui joue le rôle source
- elementLink
Type : Microsoft.VisualStudio.Modeling.ElementLink
Liens d'éléments qui forme la relation à l'acteur de rôle en question
- targetDomainRole
Type : Microsoft.VisualStudio.Modeling.DomainRoleInfo
DomainRoleInfo du rôle cible
- targetRolePlayer
Type : Microsoft.VisualStudio.Modeling.ModelElement
Élément de modèle qui joue le rôle cible dans la relation
Valeur de retour
Type : Microsoft.VisualStudio.Modeling.VisitorFilterResult
Implémentations
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
DslDefinitionModelDeleteClosure Classe
Microsoft.VisualStudio.Modeling.DslDefinition, espace de noms