ChangeRule Class

Represents a rule that is called when the value of a property of an element is changed.

Inheritance Hierarchy

System.Object
  Microsoft.VisualStudio.Modeling.Rule
    Microsoft.VisualStudio.Modeling.ChangeRule
      Microsoft.VisualStudio.Modeling.Diagrams.LineLabelAutoPlacementChangeRule
      Microsoft.VisualStudio.Modeling.Diagrams.LineRoutingRule
      Microsoft.VisualStudio.Modeling.Diagrams.LinkShapeChangedRule

Namespace:  Microsoft.VisualStudio.Modeling
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

Syntax

'Declaration
Public MustInherit Class ChangeRule _
    Inherits Rule
public abstract class ChangeRule : Rule
public ref class ChangeRule abstract : public Rule
[<AbstractClass>]
type ChangeRule =  
    class 
        inherit Rule 
    end
public abstract class ChangeRule extends Rule

The ChangeRule type exposes the following members.

Constructors

  Name Description
Protected method ChangeRule Initializes a new instance of the ChangeRule class.

Top

Properties

  Name Description
Public property FireBefore true if this rule will be executed before the change occurs. (Inherited from Rule.)
Public property FireImmediately true if this rule will execute immediately the change occurs. (Inherited from Rule.)
Public property FireOnLocalCommit true if this rule will execute when the current transaction commits. (Inherited from Rule.)
Public property FireOnTopLevelCommit true if this rule will execute when the top level transaction commits. (Inherited from Rule.)
Public property FireTime Gets or sets when the rule should execute. Normally set by the RuleOn attribute. (Inherited from Rule.)
Public property IsEnabled Gets or sets whether the rule is enabled. Normally true by default, but you can initialize it to false in the RuleOn attribute. (Inherited from Rule.)
Public property Priority Gets the priority that is assigned to the rule. Helps to determine the order in which rules are executed at the end of a transaction. (Inherited from Rule.)

Top

Methods

  Name Description
Public method CompareTo(Object) Compares the rule to another object. (Inherited from Rule.)
Public method CompareTo(Rule) Compares the rule to another rule by their IDs. (Inherited from Rule.)
Public method ElementPropertyChanged Alerts listeners that a property for an element has changed.
Public method Equals(Object) Verifies whether the rule is equal to another object. (Inherited from Rule.)
Public method Equals(Rule) Verifies whether a rule is equal to another rule. (Inherited from Rule.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Gets the hash code for the rule. (Inherited from Rule.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Remarks

A RuleOnAttribute attribute placed on the class indicates what type of object the rule works on and when the rule should fire, either inline, local transaction commit, or top level transaction commit.

The rule is triggered when the value is actually different from the previous value. It is not triggered if the property is set to its current value.

This type of rule does not apply to the properties that are generated from relationships. To respond to a change in a relationship, define Add and Delete rules on the domain relationship.

For more information and examples, see Rules Propagate Changes Within the Model.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.Modeling Namespace

Other Resources

Rules Propagate Changes Within the Model