DslDefinitionModelDeleteClosure Класс

Определение

Удаляет фильтр посетителя закрытия

public ref class DslDefinitionModelDeleteClosure : Microsoft::VisualStudio::Modeling::DslDefinition::DslDefinitionModelDeleteClosureBase, Microsoft::VisualStudio::Modeling::IElementVisitorFilter
[System.CLSCompliant(true)]
public class DslDefinitionModelDeleteClosure : Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinitionModelDeleteClosureBase, Microsoft.VisualStudio.Modeling.IElementVisitorFilter
[<System.CLSCompliant(true)>]
type DslDefinitionModelDeleteClosure = class
    inherit DslDefinitionModelDeleteClosureBase
    interface IElementVisitorFilter
Public Class DslDefinitionModelDeleteClosure
Inherits DslDefinitionModelDeleteClosureBase
Implements IElementVisitorFilter
Наследование
DslDefinitionModelDeleteClosure
Атрибуты
Реализации

Комментарии

Класс определен в.. \Женератедкоде\домаинмодел.КС, который создается из модели определения DSL.

Конструкторы

DslDefinitionModelDeleteClosure()

Конструктор

Методы

ShouldVisitRelationship(ElementWalker, ModelElement, DomainRoleInfo, DomainRelationshipInfo, ElementLink)

Вызывается, чтобы запросить фильтр, если конкретная связь от исходного элемента должна быть включена в обход

(Унаследовано от DslDefinitionModelDeleteClosureBase)
ShouldVisitRolePlayer(ElementWalker, ModelElement, ElementLink, DomainRoleInfo, ModelElement)

Этот метод вызывается, чтобы запросить фильтр, если во время обхода должен быть посещен определенный исполнитель роли, связанный с объектом ElementLink. Это переопределяет созданный метод ShouldVisitRolePlayer(), который проверяет атрибут PropagateDelete на объекте ElementLink, чтобы решить, требуется ли посетить связанные исполнители роли. В этом случае RelationshipPort — фигура, нарисованная как маленький квадрат где отношение соединено с классом — не была удалена с отношением. Причина в том, что связь, используемая для соединения RelationshipPort (фигура) с RoleConnector (также фигура), является подтипом ElementLink, называемым LinkConnectsToNode. Экземпляры этого типа связи используются для связывания различных фигур NodeShape с фигурами LinkShape, поэтому не распространяют удаления, хотя в случае RelationshipPort должны это делать. Эта же проблема существовала для порта InheritancePort, который, как и RelationshipPort, расширяет TogglePort.

Этот метод вызывается для каждого объекта ElementLink, посещенного во время удаления. Если рассматриваемая связь представляет собой экземпляр LinkConnectsToNode, а исполнитель роли — TogglePort, фигура порта может быть больше не нужна. Проверяя количество ссылок, оставленных на целевого игрока роли, этот метод возвращает VisitorFilterResult.YES, если ровно одна ссылка на порт, VisitorFilterResult.DoNotCare в противном случае. Это гарантирует, что при удалении последней связи, идущей к узлу, также удаляется фигура порта.

Применяется к