Freigeben über


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
Öffentliche Methode DslDefinitionModelDeleteClosure Konstruktor

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Equals Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte Methode 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.)
Öffentliche Methode GetHashCode Fungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode ShouldVisitRelationship Wird aufgerufen, um den Filter zu fragen, ob eine bestimmte Beziehung aus einem Quellelement im Durchlauf enthalten sein soll (Von DslDefinitionModelDeleteClosureBase geerbt.)
Öffentliche Methode 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).)
Öffentliche Methode 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.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling.DslDefinition-Namespace