DeleteRule Class
Represents a rule that is called when an object is deleted from the model. Executes after the corresponding DeletingRule.
Inheritance Hierarchy
System.Object
Microsoft.VisualStudio.Modeling.Rule
Microsoft.VisualStudio.Modeling.DeleteRule
Microsoft.VisualStudio.Modeling.Diagrams.DiagramDeleteRule
Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeContainsNestedChildShapesDeleteRule
Microsoft.VisualStudio.Modeling.Diagrams.ParentShapeHasRelativeChildShapesDeleteRule
Namespace: Microsoft.VisualStudio.Modeling
Assembly: Microsoft.VisualStudio.Modeling.Sdk.10.0 (in Microsoft.VisualStudio.Modeling.Sdk.10.0.dll)
Syntax
'Declaration
Public MustInherit Class DeleteRule _
Inherits Rule
public abstract class DeleteRule : Rule
public ref class DeleteRule abstract : public Rule
[<AbstractClass>]
type DeleteRule =
class
inherit Rule
end
public abstract class DeleteRule extends Rule
The DeleteRule type exposes the following members.
Constructors
Name | Description | |
---|---|---|
DeleteRule | Initializes a new instance of the DeleteRule class. |
Top
Properties
Name | Description | |
---|---|---|
FireBefore | true if this rule will be executed before the change occurs. (Inherited from Rule.) | |
FireImmediately | true if this rule will execute immediately the change occurs. (Inherited from Rule.) | |
FireOnLocalCommit | true if this rule will execute when the current transaction commits. (Inherited from Rule.) | |
FireOnTopLevelCommit | true if this rule will execute when the top level transaction commits. (Inherited from Rule.) | |
FireTime | Gets or sets when the rule should execute. Normally set by the RuleOn attribute. (Inherited from Rule.) | |
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.) | |
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 | |
---|---|---|
CompareTo(Object) | Compares the rule to another object. (Inherited from Rule.) | |
CompareTo(Rule) | Compares the rule to another rule by their IDs. (Inherited from Rule.) | |
ElementDeleted | Alerts listeners that an element has been deleted from the model. | |
Equals(Object) | Verifies whether the rule is equal to another object. (Inherited from Rule.) | |
Equals(Rule) | Verifies whether a rule is equal to another rule. (Inherited from Rule.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Gets the hash code for the rule. (Inherited from Rule.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Remarks
Rules of this type are triggered when an object is deleted from the model.
Before defining a Delete Rule, consider whether you can achieve the same effect using the features available in the DSL Definition. For more information, see Customizing Deletion Behavior
A RuleOnAttribute attribute placed on the class indicates what type of object the rule works on and when the rule should fire (inline, local transaction commit, or top level transaction commit).
The rule is executed when the object of the specified type is deleted from the model, whether it is deleted in the UI or programmatically. It is always executed after a DeletingRule defined on the same object. Typically, all the deleting rules generated by a transaction are executed, and then all the deleted rules.
If you want to delete further objects in response to an object’s deletion, do so in a DeletingRule, not a DeleteRule.
After the DeleteRule is triggered, the IsDeleted property of the element is true. The element is removed from the store’s element directory.
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