Apply this attribute to methods that should be invoked during validation.
Inheritance Hierarchy
System.Object
  System.Attribute
    Microsoft.VisualStudio.Modeling.Validation.ValidationMethodAttribute
Namespace:  Microsoft.VisualStudio.Modeling.Validation
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.10.0 (in Microsoft.VisualStudio.Modeling.Sdk.10.0.dll)
Syntax
声明
<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple := True)> _
Public NotInheritable Class ValidationMethodAttribute _
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = true)]
public sealed class ValidationMethodAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method, AllowMultiple = true)]
public ref class ValidationMethodAttribute sealed : public Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = true)>]
type ValidationMethodAttribute =  
    class
        inherit Attribute
    end
public final class ValidationMethodAttribute extends Attribute
The ValidationMethodAttribute type exposes the following members.
Constructors
| Name | Description | |
|---|---|---|
| .gif) | ValidationMethodAttribute() | Apply this attribute to methods that you want to be called when the user invokes the Validate menu command. | 
| .gif) | ValidationMethodAttribute(ValidationCategories) | Apply this attribute to methods that you want to be called during validation. | 
Top
Properties
| Name | Description | |
|---|---|---|
| .gif) | Categories | Defines when the method to which this attribute is applied will be called. | 
| .gif) | CustomCategory | Gets or sets the custom validation category, which can be empty. | 
| .gif) | TypeId | When implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute.) | 
Top
Methods
| Name | Description | |
|---|---|---|
| .gif) | Equals | Infrastructure. Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute.) | 
| .gif) | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | 
| .gif) | GetHashCode | Returns the hash code for this instance. (Inherited from Attribute.) | 
| .gif) | GetType | Gets the Type of the current instance. (Inherited from Object.) | 
| .gif) | IsDefaultAttribute | When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute.) | 
| .gif) | Match | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.) | 
| .gif) | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | 
| .gif) | ToString | Returns a string that represents the current object. (Inherited from Object.) | 
Top
Explicit Interface Implementations
| Name | Description | |
|---|---|---|
| .gif) .gif) | _Attribute.GetIDsOfNames | Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.) | 
| .gif) .gif) | _Attribute.GetTypeInfo | Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.) | 
| .gif) .gif) | _Attribute.GetTypeInfoCount | Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.) | 
| .gif) .gif) | _Attribute.Invoke | Provides access to properties and methods exposed by an object. (Inherited from Attribute.) | 
Top
Remarks
The Categories property determines when the attribute is used.
For more information, see Validation in a Domain-Specific Language.
Examples
The following example decorates a method in the Person class to be invoked when validation occurs. The ValidationCategories enumeration setting indicates when the method will be invoked.
[C#]
[ValidationMethod
(
    ValidationCategory.Open |
    ValidationCategory.Save |
    ValidationCategory.Menu
)
]
private void ValidateParentBirth(ValidationContext context)   
{
    foreach (Person parent in this.Parent)
    {
        if (this.Birth <= parent.Birth)
        {
        context.LogError(
            "Birth must be after parent's birth",
            "FamilyParentBirthError", 
            this, 
            parent);
        }
    }
}
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.