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 | |
---|---|---|
![]() |
AddRule | Bir örneğini başlatır AddRule sınıfı. |
Üst
Özellikler
Ad | Açıklama | |
---|---|---|
![]() |
FireBefore | true Bu kural önce yürütülen değişikliği oluşur. (Rule kaynağından devralındı.) |
![]() |
FireImmediately | true Bu kural değişikliği hemen çalıştırılacak ortaya çıkar. (Rule kaynağından devralındı.) |
![]() |
FireOnLocalCommit | true Bu kuralı çalıştırır, ne zaman geçerli hareketi tamamlar. (Rule kaynağından devralındı.) |
![]() |
FireOnTopLevelCommit | true Bu kuralı çalıştırır, ne zaman üst düzey hareketi tamamlar. (Rule kaynağından devralındı.) |
![]() |
FireTime | Alır veya ayarlar kural bağlamını belirtir.Normal RuleOn özniteliğini ayarlayın. (Rule kaynağından devralındı.) |
![]() |
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ı.) |
![]() |
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 | |
---|---|---|
![]() |
CompareTo(Object) | Başka bir nesneye kural karşılaştırır. (Rule kaynağından devralındı.) |
![]() |
CompareTo(Rule) | Kurala başka bir kural tarafından kimlikleri karşılaştırır. (Rule kaynağından devralındı.) |
![]() |
ElementAdded | Bir kural kullanılan dinleyicileri uyarır. |
![]() |
Equals(Object) | Kural başka bir nesneye eşit olup olmadığını doğrular. (Rule kaynağından devralındı.) |
![]() |
Equals(Rule) | Bir kural için başka bir kural eşit olup olmadığını doğrular. (Rule kaynağından devralındı.) |
![]() |
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ı.) |
![]() |
GetHashCode | Kural için karma kodunu alır. (Rule kaynağından devralındı.) |
![]() |
GetType | Alır Type geçerli örneğinin. (Object kaynağından devralındı.) |
![]() |
MemberwiseClone | Geçerli yüzeysel bir kopyasını oluşturur Object. (Object kaynağından devralındı.) |
![]() |
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ı