Partager via


ValidationContext, classe

Contient des informations sur le traitement de la validation en cours d'exécution.

Hiérarchie d'héritage

System.Object
  Microsoft.VisualStudio.Modeling.Validation.ValidationContext
    Microsoft.VisualStudio.Modeling.Shell.VsValidationContext

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

Syntaxe

'Déclaration
Public Class ValidationContext
public class ValidationContext

Le type ValidationContext expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique ValidationContext(array<String[], ModelElement) Initialise une nouvelle instance de la classe ValidationContext qui a un élément de modèle spécifique à valider.
Méthode publique ValidationContext(array<String[], IEnumerable<ModelElement>) Ctor
Méthode publique ValidationContext(ValidationCategories, ModelElement) Constructeur
Méthode publique ValidationContext(ValidationCategories, IEnumerable<ModelElement>) Constructeur

Début

Propriétés

  Nom Description
Propriété publique Categories Obtient les catégories de validation de ce contexte de validation.
Propriété publique CurrentViolations Obtient la collection de messages de validation pour le contexte de validation.
Propriété publique CustomCategories Obtient les chaînes de validation personnalisées pour le contexte de validation.
Propriété publique ValidationSubjects Obtient la liste d'éléments de modèle à valider.

Début

Méthodes

  Nom Description
Méthode protégée ConstructValidationMessage Construit un message de validation.Vous pouvez substituer cette méthode pour construire un message de validation personnalisé.
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetCache<T>() Obtient le cache de la classe spécifiée.
Méthode publique GetCache<T>(String) Obtient le cache de la classe spécifiée.
Méthode publique GetHashCode Sert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publique GetNavigationProxyModelElements Obtient les éléments du modèle de proxy lorsqu'une erreur de validation se produit dans le modèle.
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique LogError Crée une erreur de validation et enregistre un message dans la collection que le contexte de validation conserve.
Méthode publique LogFatal Crée une erreur irrécupérable pour la validation et enregistre un message dans le contexte de validation.
Méthode publique LogMessage Crée un message d'information de validation et l'enregistre dans la collection que le contexte de validation conserve.
Méthode publique LogViolation Crée une erreur, un message ou un avertissement de validation.
Méthode publique LogWarning Crée un avertissement de validation et enregistre le message dans la collection que le contexte de validation conserve.
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publique SetCacheValue<T> Définit l'objet en mémoire cache associé au nom.
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Méthode publique TryGetCacheValue<T> Retourne si l'objet mis en cache associé au nom existe ou n'existe pas

Début

Notes

Une instance de cette classe est créée chaque fois que l'espace de noms de modélisation démarre le contrôle de validation. Cette instance est passée dans chaque méthode de validation que vous avez enregistrées pour la vérification de validation.

Chaque fois qu'une méthode de validation que vous écrivez est appelé, votre code peut signaler des erreurs de validation à l'aide de l'LogError, l'LogWarningles méthodes, et d'LogMessage. Les erreurs de validation sont ajoutées à la propriété d'CurrentViolations de l'objet d'ValidationContext.

Une fois la validation terminée, les erreurs, avertissements, messages et de validation sont représentés par des collections d'objets LogMessage dans la propriété d'CurrentViolations.

L'objet d'ValidationContext est ensuite transmise à toutes les méthodes de validation. La propriété d'CurrentViolations contient les erreurs, avertissements, des messages qui ont été rencontrée jusqu'à ce point dans le contrôle de validation actuel.

La prochaine fois que démarre de cette validation, un autre objet d'ValidationContext est créée. Si l'objet est passé à chaque méthode de validation à son tour des erreurs, des avertissements, des messages ajoutés à l'objet lorsqu'ils sont produits.

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

Exemples

L'exemple suivant est une méthode qui est décorée par un attribut qui indique qu'il s'agit d'une méthode de validation.

L'objet d'ValidationContext passé dans chaque méthode de validation contient des informations sur le traitement en cours de validation. Ces informations incluent les erreurs, des avertissements, des messages qui se sont accumulés dans les méthodes de validation qui ont déjà été exécuté.

L'objet d'ValidationContext contient les méthodes qui s'ajoutent des erreurs, des avertissements, des messages, comme la méthode d'LogError dans l'exemple suivant :

[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