Partager via


ValidationContext, classe

Contient des informations sur la validation actuelle traitant être effectué.

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.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.11.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 d'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 pour ce contexte de validation.
Propriété publique CurrentViolations Accepte la collection de messages de validation pour le contexte de validation.
Propriété publique CustomCategories Obtient les chaînes personnalisées de validation pour le contexte de validation.
Propriété publique ValidationSubjects Obtient la liste d'éléments de modèle de 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 personnalisé de validation.
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 pour la classe spécifiée.
Méthode publique GetCache<T>(String) Obtient le cache pour la classe spécifiée.
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetNavigationProxyModelElements Obtient les éléments de 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 maintient.
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 maintient.
Méthode publique LogViolation Crée une erreur, un message, ou prévenir de validation.
Méthode publique LogWarning Crée un avertissement de validation et enregistre le message dans la collection que le contexte de validation maintient.
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éfinissez l'objet mis en cache associé avec le nom
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Méthode publique TryGetCacheValue<T> Se retourne, que l'objet mis en cache associé avec le nom ou existent pas

Début

Notes

Une instance de cette classe est créée chaque fois que l'espace de noms de modélisation commence s'activer de validation.Cette instance est passée dans chaque méthode de validation que vous avez enregistrée pour s'activer de validation.

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

Lorsque la validation est finie, tous les erreurs, avertissements, et messages de validation sont représentés comme des collections d'objets d'LogMessage dans la propriété d'CurrentViolations.

L'objet d'ValidationContext est alors passé à toutes les méthodes suivantes de validation.La propriété d'CurrentViolations contient tous les erreurs, avertissements, et messages qui ont été produits à ce point dans s'activer actuel de validation.

La prochaine fois qu'elle commence à cette validation, un autre objet d'ValidationContext est créés.Que l'objet est passé à chaque méthode de validation ensuite avec des erreurs, des avertissements, et des messages s'est ajouté à cet objet comme 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 qui est passé dans chaque méthode de validation contient des informations sur traiter actuel de validation.Ces informations comprennent les erreurs, les avertissements, et les messages qui se sont développés dans les méthodes de validation qui ont déjà été exécutés.

L'objet d'ValidationContext a les méthodes qui s'ajoutent aux erreurs, aux avertissements, et aux messages, tels que 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