Share via


Rule Class

Abstract class from which different types of store rule can be derived.

Inheritance Hierarchy

System.Object
  Microsoft.VisualStudio.Modeling.Rule
    More...

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

Syntax

'Declaration
Public MustInherit Class Rule _
    Implements IComparable, IComparable(Of Rule)
public abstract class Rule : IComparable, 
    IComparable<Rule>
public ref class Rule abstract : IComparable, 
    IComparable<Rule^>
[<AbstractClass>]
type Rule =  
    class
        interface IComparable
        interface IComparable<Rule>
    end
public abstract class Rule implements IComparable, IComparable<Rule>

The Rule type exposes the following members.

Constructors

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

Top

Properties

  Name Description
Public property FireBefore true if this rule will be executed before the change occurs.
Public property FireImmediately true if this rule will execute immediately the change occurs.
Public property FireOnLocalCommit true if this rule will execute when the current transaction commits.
Public property FireOnTopLevelCommit true if this rule will execute when the top level transaction commits.
Public property FireTime Gets or sets when the rule should execute. Normally set by the RuleOn attribute.
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.
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.

Top

Methods

  Name Description
Public method CompareTo(Object) Compares the rule to another object.
Public method CompareTo(Rule) Compares the rule to another rule by their IDs.
Public method Equals(Object) Verifies whether the rule is equal to another object. (Overrides Object.Equals(Object).)
Public method Equals(Rule) Verifies whether a rule is equal to another 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. (Overrides Object.GetHashCode().)
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

Operators

  Name Description
Public operatorStatic member Equality Verifies whether two rules are equal.
Public operatorStatic member GreaterThan Used to sort rules into order by ID.
Public operatorStatic member Inequality Verifies whether two rules are not equal.
Public operatorStatic member LessThan Used to sort rules into order by ID.

Top

Remarks

To define a rule that propagates changes in the store, derive a class from one of this class’s derived classes such as AddRule. Apply the rule to a domain class using the RuleOn attribute.

Examples

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

RuleOnAttribute

Inheritance Hierarchy

System.Object
  Microsoft.VisualStudio.Modeling.Rule
    Microsoft.VisualStudio.Modeling.AddRule
    Microsoft.VisualStudio.Modeling.ChangeRule
    Microsoft.VisualStudio.Modeling.DeleteRule
    Microsoft.VisualStudio.Modeling.DeletingRule
    Microsoft.VisualStudio.Modeling.MoveRule
    Microsoft.VisualStudio.Modeling.RolePlayerChangeRule
    Microsoft.VisualStudio.Modeling.RolePlayerPositionChangeRule
    Microsoft.VisualStudio.Modeling.TransactionBeginningRule
    Microsoft.VisualStudio.Modeling.TransactionCommittingRule
    Microsoft.VisualStudio.Modeling.TransactionRollingBackRule