DslDefinitionModelDeleteClosure-Klasse
Abschlussbesuchsfilter entfernen
Vererbungshierarchie
System.Object
Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinitionModelDeleteClosureBase
Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinitionModelDeleteClosure
Namespace: Microsoft.VisualStudio.Modeling.DslDefinition
Assembly: Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0.dll)
Syntax
'Declaration
<CLSCompliantAttribute(True)> _
Public Class DslDefinitionModelDeleteClosure _
Inherits DslDefinitionModelDeleteClosureBase _
Implements IElementVisitorFilter
[CLSCompliantAttribute(true)]
public class DslDefinitionModelDeleteClosure : DslDefinitionModelDeleteClosureBase,
IElementVisitorFilter
Der DslDefinitionModelDeleteClosure-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
![]() |
DslDefinitionModelDeleteClosure | Konstruktor |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
![]() |
Equals | Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.) |
![]() |
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.) |
![]() |
GetHashCode | Fungiert als die Standardhashfunktion. (Von Object geerbt.) |
![]() |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
![]() |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
![]() |
ShouldVisitRelationship | Wird aufgerufen, um den Filter zu fragen, ob eine bestimmte Beziehung aus einem Quellelement im Durchlauf enthalten sein soll (Von DslDefinitionModelDeleteClosureBase geerbt.) |
![]() |
ShouldVisitRolePlayer | Diese Methode wird aufgerufen, um den Filter zu fragen, ob ein bestimmter Rolleninhaber, der einem ElementLink zugeordnet ist, während des Durchlaufs besucht werden sollte.Dadurch wird die generierte Methode ShouldVisitRolePlayer() überschrieben, die das PropagateDelete-Attribut auf dem ElementLink überprüft, um zu entscheiden, ob die zugeordneten Rolleninhaber besucht werden.In diesem Fall wurde RelationshipPort, die Form, die als kleines Quadrat gezeichnet wurde, wobei eine Beziehung mit einer Klasse verbunden ist, nicht mit der Beziehung gelöscht.Der Grund dafür ist, dass der Link, der verwendet wird, um die RelationshipPort (eine Form) mit der RoleConnector (ebenfalls eine Form) zu verbinden, ein Untertyp von ElementLink ist, genannt LinkConnectsToNode.Instanzen dieses Linktyps werden verwendet, um verschiedene NodeShapes mit LinkShapes zu verknüpfen und geben daher Löschvorgänge nicht weiter, obwohl dies bei RelationshipPort der Fall sein sollte.Das gleiche Problem bestand bei InheritancePort, das wie RelationshipPort TogglePort erweitert.Diese Methode wird für jeden ElementLink aufgerufen, der bei einem Löschvorgang aufgerufen wird.Wenn der betreffende Link eine Instanz von LinkConnectsToNode ist und der RolePlayer ein TogglePort ist, wird die Portform möglicherweise nicht mehr benötigt.Durch Überprüfen, wie viele Links dem Zielrolleninhaber verbleiben, wird von dieser Methode VisitorFilterResult.YES zurückgegebenen, wenn genau ein Link an den Anschluss vorhanden ist; andernfalls VisitorFilterResult.DoNotCare.Dadurch wird sichergestellt, dass, die Portform ebenfalls gelöscht wird, wenn der letzte Link zum Knoten gelöscht wird. (Überschreibt DslDefinitionModelDeleteClosureBase.ShouldVisitRolePlayer(ElementWalker, ModelElement, ElementLink, DomainRoleInfo, ModelElement).) |
![]() |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Hinweise
Klasse wird in ..\GeneratedCode\DomainModel.cs definiert, die vom DSL-Definitionsmodell generiert wird.
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.