Aracılığıyla paylaş


AddRule Sınıf

Bir nesne modeline eklendiğinde, çağrılan bir kural temsil eder.

Devralma Hiyerarşisi

System.Object
  Microsoft.VisualStudio.Modeling.Rule
    Microsoft.VisualStudio.Modeling.AddRule
      Microsoft.VisualStudio.Modeling.Diagrams.CommentShapeAddRule
      Microsoft.VisualStudio.Modeling.Diagrams.NodeShape.ExpandCollapseNodeShapeWhenAddedToDiagramRule
      Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeContainsNestedChildShapesAddRule
      Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeHasRelativeChildShapesAddRule
      Microsoft.VisualStudio.Modeling.Diagrams.ShapeElementAddRule
      Microsoft.VisualStudio.Modeling.ElementDeserializedRule

Ad alanı:  Microsoft.VisualStudio.Modeling
Derleme:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (Microsoft.VisualStudio.Modeling.Sdk.11.0.dll içinde)

Sözdizimi

'Bildirim
Public MustInherit Class AddRule _
    Inherits Rule
public abstract class AddRule : Rule

AddRule türü aşağıdaki üyeleri ortaya koyar.

Oluşturucular

  Ad Açıklama
Korumalı yöntem AddRule Bir örneğini başlatır AddRule sınıfı.

Üst

Özellikler

  Ad Açıklama
Genel özellik FireBefore true Bu kural önce yürütülen değişikliği oluşur. (Rule kaynağından devralındı.)
Genel özellik FireImmediately true Bu kural değişikliği hemen çalıştırılacak ortaya çıkar. (Rule kaynağından devralındı.)
Genel özellik FireOnLocalCommit true Bu kuralı çalıştırır, ne zaman geçerli hareketi tamamlar. (Rule kaynağından devralındı.)
Genel özellik FireOnTopLevelCommit true Bu kuralı çalıştırır, ne zaman üst düzey hareketi tamamlar. (Rule kaynağından devralındı.)
Genel özellik FireTime Alır veya ayarlar kural bağlamını belirtir.Normal RuleOn özniteliğini ayarlayın. (Rule kaynağından devralındı.)
Genel özellik IsEnabled Alır veya kuralın etkin olup olmadığını ayarlar.Varsayılan olarak, normal olarak doğru ama yanlış RuleOn öznitelik başlatılamıyor. (Rule kaynağından devralındı.)
Genel özellik Priority Kural için atanan öncelik alır.Bir işlemin sonunda kurallarının yürütülme sırasını belirlemek için yardımcı olur. (Rule kaynağından devralındı.)

Üst

Yöntemler

  Ad Açıklama
Genel yöntem CompareTo(Object) Başka bir nesneye kural karşılaştırır. (Rule kaynağından devralındı.)
Genel yöntem CompareTo(Rule) Kurala başka bir kural tarafından kimlikleri karşılaştırır. (Rule kaynağından devralındı.)
Genel yöntem ElementAdded Bir kural kullanılan dinleyicileri uyarır.
Genel yöntem Equals(Object) Kural başka bir nesneye eşit olup olmadığını doğrular. (Rule kaynağından devralındı.)
Genel yöntem Equals(Rule) Bir kural için başka bir kural eşit olup olmadığını doğrular. (Rule kaynağından devralındı.)
Korumalı yöntem Finalize Atık toplama işlemi tarafından geri alınmadan önce diğer temizleme işlemleri gerçekleştirmek ve kaynakları boşaltmak denemek bir nesne sağlar. (Object kaynağından devralındı.)
Genel yöntem GetHashCode Kural için karma kodunu alır. (Rule kaynağından devralındı.)
Genel yöntem GetType Alır Type geçerli örneğinin. (Object kaynağından devralındı.)
Korumalı yöntem MemberwiseClone Geçerli yüzeysel bir kopyasını oluşturur Object. (Object kaynağından devralındı.)
Genel yöntem ToString Geçerli nesneyi temsil eden bir dize döndürür. (Object kaynağından devralındı.)

Üst

Notlar

Bu tür kurallar modeli için bir öğe, ilişki, Şekil, bağlayıcı veya Diyagram eklendiğinde tetiklenir.

A RuleOnAttribute sınıfına yerleştirilen özniteliği belirtir kural nesnesi ne tür üzerinde çalışır ve ne zaman kuralı başlatılamıyor.

Belirtilen türde nesne modeline eklendiğinde UI veya program aracılığıyla eklediğiniz kuralı olarak adlandırılır.

Bir öğe dosyadan yüklendiğinde kural da tetiklenir.Bu durumda yanıt önlemek isterseniz, bu kodu sizin ElementAdded şunlardır:

// Ignore this call if we're currently loading a model:
    if (e.ModelElement.Store.TransactionManager
          .CurrentTransaction.IsSerializing) 
       return;

Daha fazla bilgi ve örnekler için bkz, Kuralları modelindeki değişiklikleri yaymak.

Örnekler

Aşağıdaki örnekte, bir kural, türetildiği tanımlanır AddRule.Diyagram eklendiğinde, bu kuralın bir şeklin konumunu ayarlar.

RuleOn Özniteliği üst düzey hareketi tamamlar, kural yangın belirtir.

[RuleOn(typeof(ParentShapeContainsNestedChildShapes), FireTime = TimeToFire.TopLevelCommit)]
public class ShapeAddedToDiagramRule : AddRule
{
  private double offset = 0.25;
  private PointD location = new PointD(0.25, 0.25);

  public override void ElementAdded(ElementAddedEventArgs e)
  {
    Shape shape = null;
    ParentShapeContainsNestedChildShapes nestedLink = e.ModelElement as ParentShapeContainsNestedChildShapes;
    if (nestedLink != null)
    {
      shape = nestedLink.NestedChildShapes as Shape;
    }

    if (shape != null && shape.Diagram != null)
    {
      // Expand the shape and move it to its new position
      shape.IsExpanded = true;
      shape.Location = new PointD(location.X, location.Y + offset);

      // Adjust the height offset for the size of the shape
      // (I'm assuming that the DefaultContainerMargin
      // provides for a decent spacing between the shapes)
      offset += shape.Size.Height + shape.Diagram.DefaultContainerMargin.Height;
    }
  }
}

İş Parçacığı Güvenliği

Bu türün tüm genel statik (Visual Basic'te Shared) üyeleri iş parçacığı açısından güvenlidir. Hiçbir örnek üyesinin iş parçacığı açısından güvenliği garanti edilemez.

Ayrıca bkz.

Başvuru

Microsoft.VisualStudio.Modeling Ad Alanı

Diğer Kaynaklar

Kuralları modelindeki değişiklikleri yaymak