Partager via


ValidationMethodAttribute, classe

Appliquez-vous cet attribut aux méthodes qui doivent être appelées pendant la validation.

Hiérarchie d'héritage

System.Object
  System.Attribute
    Microsoft.VisualStudio.Modeling.Validation.ValidationMethodAttribute

Espace de noms :  Microsoft.VisualStudio.Modeling.Validation
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)

Syntaxe

'Déclaration
<AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple := True)> _
Public NotInheritable Class ValidationMethodAttribute _
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = true)]
public sealed class ValidationMethodAttribute : Attribute

Le type ValidationMethodAttribute expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique ValidationMethodAttribute() Appliquez-vous cet attribut aux méthodes que vous souhaitez être appelé lorsque l'utilisateur appelle la commande de menu de valider.
Méthode publique ValidationMethodAttribute(ValidationCategories) Appliquez-vous cet attribut aux méthodes que vous souhaitez être appelé pendant la validation.

Début

Propriétés

  Nom Description
Propriété publique Categories Définit lorsque la méthode à laquelle cet attribut est appliqué sera appelée.
Propriété publique CustomCategory Obtient ou définit la catégorie personnalisée de validation, qui peut être vide.
Propriété publique TypeId Lors de son implémentation dans une classe dérivée, obtient un identificateur unique pour Attribute. (Hérité de Attribute.)

Début

Méthodes

  Nom Description
Méthode publique Equals Infrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode publique GetHashCode Retourne le code de hachage de cette instance. (Hérité de Attribute.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique IsDefaultAttribute En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute.)
Méthode publique Match En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)

Début

Implémentations d'interface explicite

  Nom Description
Implémentation d'interface expliciteMéthode privée _Attribute.GetIDsOfNames Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.GetTypeInfo Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.GetTypeInfoCount Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.Invoke Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.)

Début

Notes

La propriété d'Categories détermine lorsque l'attribut est utilisé.

Pour plus d'informations, consultez Validation dans un langage spécifique à un domaine.

Exemples

L'exemple suivant décore une méthode dans la classe de personne à appeler lorsque la validation se produit.Le paramètre d'énumération ValidationCategories indique lorsque la méthode sera appelée.

[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);
        }
    }
}

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Modeling.Validation, espace de noms