Condividi tramite


Classe ValidationContext

Contiene informazioni sull'elaborazione corrente di convalida che viene eseguita.

Gerarchia di ereditarietà

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

Spazio dei nomi:  Microsoft.VisualStudio.Modeling.Validation
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)

Sintassi

'Dichiarazione
Public Class ValidationContext
public class ValidationContext

Il tipo ValidationContext espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ValidationContext(array<String[], ModelElement) Inizializza una nuova istanza di ValidationContext classe che dispone di un elemento del modello specifico da convalidare.
Metodo pubblico ValidationContext(array<String[], IEnumerable<ModelElement>) .ctor
Metodo pubblico ValidationContext(ValidationCategories, ModelElement) Costruttore
Metodo pubblico ValidationContext(ValidationCategories, IEnumerable<ModelElement>) Costruttore

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Categories Ottiene le categorie di convalida al contesto di convalida.
Proprietà pubblica CurrentViolations ottiene la raccolta di messaggi di convalida per il contesto di convalida.
Proprietà pubblica CustomCategories ottiene le stringhe personalizzate di convalida per il contesto di convalida.
Proprietà pubblica ValidationSubjects Ottiene l'elenco degli elementi del modello di convalidare.

In alto

Metodi

  Nome Descrizione
Metodo protetto ConstructValidationMessage Crea un messaggio di convalida.È possibile eseguire l'override di questo metodo per creare un messaggio di convalida personalizzato.
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetCache<T>() Ottiene la cache per la classe specificata.
Metodo pubblico GetCache<T>(String) Ottiene la cache per la classe specificata.
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetNavigationProxyModelElements Ottiene gli elementi del modello del proxy quando si verifica un errore di convalida viene effettuata nel modello.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico LogError Crea un errore di convalida e registra un messaggio nella raccolta che il contesto di convalida gestisce.
Metodo pubblico LogFatal Crea un errore irreversibile per la convalida e registra un messaggio nel contesto di convalida.
Metodo pubblico LogMessage Crea un messaggio informativo di convalida e viene registrato nella raccolta che il contesto di convalida gestisce.
Metodo pubblico LogViolation Crea un errore di convalida, un messaggio, o avviso.
Metodo pubblico LogWarning Crea un avviso di convalida e registra il messaggio nella raccolta che il contesto di convalida gestisce.
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico SetCacheValue<T> Impostare l'oggetto memorizzato nella cache associato al nome
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico TryGetCacheValue<T> Restituisce se l'oggetto memorizzato nella cache associato al nome esiste o meno

In alto

Note

Un'istanza di questa classe viene creata ogni volta che lo spazio dei nomi di modellizzazione avvia il controllo di convalida.Questa istanza viene passato a ogni metodo di convalida aver registrato per il controllo di convalida.

Ogni volta che un metodo di convalida scritta viene chiamato, il codice può registrare errori di convalida utilizzando LogMessage , di LogWarninge di LogErrormetodi.Questi errori di convalida vengono aggiunti a CurrentViolations proprietà di ValidationContext oggetto.

Quando la convalida viene completata, tutti gli errori di convalida, avvisi e messaggi sono rappresentati come raccolte di LogMessage oggetti in CurrentViolations proprietà.

ValidationContext l'oggetto viene quindi passato a tutti i metodi di convalida successivi.CurrentViolations la proprietà contiene tutti gli errori, avvisi e messaggi che sono stati verificati fino a questo punto il controllo di convalida in uso.

La volta successiva che convalida viene avviata, un altro ValidationContext viene creato l'oggetto.Che l'oggetto viene passato a ogni metodo di convalida a sua volta con errori, avvisi e messaggi aggiunti a tale oggetto non appena vengono individuati.

Per ulteriori informazioni, vedere Convalida in un linguaggio specifico di dominio.

Esempi

L'esempio seguente è un metodo è decorata da un attributo che indica che è un metodo di convalida.

ValidationContext oggetto passato a ogni metodo di convalida vengono fornite informazioni sull'elaborazione di convalida in uso.Queste informazioni includono gli errori, avvisi e messaggi che sono compilati nei metodi di convalida che già dispongono di esecuzione.

LogError l'oggetto dispone di metodi che aggiungono gli errori, gli avvisi e messaggi, ad esempio di ValidationContext metodo nell'esempio seguente:

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

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Modeling.Validation