DslDefinitionModelDeleteClosure Sınıf

Tanım

Kapanış ziyaretçi filtresini kaldır

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
Devralma
DslDefinitionModelDeleteClosure
Öznitelikler
Uygulamalar

Açıklamalar

Sınıf içinde tanımlanmıştır... DSL tanım modelinden oluşturulan \GeneratedCode\DomainModel.cs.

Oluşturucular

DslDefinitionModelDeleteClosure()

Oluşturucu

Yöntemler

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

Bir kaynak öğeden belirli bir ilişkinin çapraz geçişine dahil edilip edilmeyeceğini filtre istemek için çağırılır

(Devralındığı yer: DslDefinitionModelDeleteClosureBase)
ShouldVisitRolePlayer(ElementWalker, ModelElement, ElementLink, DomainRoleInfo, ModelElement)

Bu yöntem, bir ElementLink ile ilişkili belirli bir rol oyuncusunun çapraz geçiş sırasında ziyaret edilip edilmemelidir. Bu, ilişkili rol oyuncularını ziyaret edip edemeyeceğine karar vermek için ElementLink üzerindeki PropagateDelete özniteliğini inceleyerek oluşturulan ShouldVisitRolePlayer () yöntemini geçersiz kılar. Bu durumda RelationshipPort, bir ilişkinin bir sınıfa bağlı olduğu küçük bir kare olarak çizilen Şekil, ilişkiyle birlikte silinmedi. Bunun nedeni, RelationshipPort (bir şekil) RoleConnector 'a (aynı zamanda bir şekil) bağlanmak için kullanılan bağlantının LinkConnectsToNode adlı ElementLink 'in bir alt türü olmasını sağlar. Bu bağlantı türünün örnekleri, çeşitli NodeShapes 'i LinkShapes ile ilişkilendirmek için kullanılır ve bu nedenle, RelationshipPort olması durumunda silmeleri yaymayın. RelationshipPort, TogglePort 'u genişlettiğinden InheritancePort için de aynı sorun vardı.

Bu yöntem, silme sırasında ziyaret edilen her ElementLink için çağırılır. Söz konusu bağlantı LinkConnectsToNode örneğidir ve rolündeki RolePlayer bir TogglePort ise, bağlantı noktası şeklinin artık gerekmeyebilir. Hedef rol oyuncusuna kaç bağlantı kaldığını denetleyerek, bu yöntem VisitorFilterResult öğesini döndürür. Evet bağlantı noktasına tam olarak bir bağlantı varsa, VisitorFilterResult. Donotc, aksi durumda. Bu, düğümün son bağlantısı silindiğinde bağlantı noktası şeklinin de silinip silinmemesini sağlar.

Şunlara uygulanır