Condividi tramite


Metodo DslDefinitionModelDeleteClosure.ShouldVisitRolePlayer

Questo metodo viene chiamato per richiedere al filtro se un particolare assegnatario di ruolo associato a ElementLink deve essere visualizzato durante l'attraversamento. In questo modo viene eseguito l'override del metodo ShouldVisitRolePlayer() generato, che esamina l'attributo PropagateDelete relativo all'oggetto ElementLink per decidere se visualizzare gli assegnatari di ruolo associati. In questo caso l'oggetto RelationshipPort, ovvero il quadratino in cui una relazione viene connessa a una classe, non è stato eliminato con la relazione. Il motivo è che il collegamento utilizzato per connettere RelationshipPort (una forma) a RoleConnector (altra forma) è un sottotipo di ElementLink, denominato LinkConnectsToNode. Le istanze di questo tipo di collegamento vengono utilizzate per associare vari oggetti NodeShapes con oggetti LinkShapes e pertanto non propagano le eliminazioni, sebbene nel caso dell'oggetto RelationshipPort possa essere necessario. Lo stesso problema si verificava per InheritancePort che, come RelationshipPort, estende TogglePort. Questo metodo viene chiamato per ogni ElementLink visualizzato durante un'operazione di eliminazione. Se il collegamento in questione è un'istanza di LinkConnectsToNode e l'assegnatario del ruolo è TogglePort, la forma della porta potrebbe non essere più necessaria. Verificando quanti collegamenti vengono lasciati all'assegnatario del ruolo di destinazione, questo metodo restituisce VisitorFilterResult.YES se esiste esattamente un collegamento alla porta o VisitorFilterResult.DoNotCare in caso contrario. In questo modo di garantisce che quando l'ultimo collegamento al nodo viene eliminato, viene eliminata anche la forma della porta.

Spazio dei nomi:  Microsoft.VisualStudio.Modeling.DslDefinition
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0.dll)

Sintassi

'Dichiarazione
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
)

Parametri

Valore restituito

Tipo: Microsoft.VisualStudio.Modeling.VisitorFilterResult

Implementa

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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

DslDefinitionModelDeleteClosure Classe

Spazio dei nomi Microsoft.VisualStudio.Modeling.DslDefinition