Classe ValidationContext
Contiene informazioni sull'elaborazione corrente di convalida in fase di esecuzione.
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.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Sintassi
'Dichiarazione
Public Class ValidationContext
public class ValidationContext
Il tipo ValidationContext espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
![]() |
ValidationContext(array<String[], ModelElement) | Inizializza una nuova istanza della classe ValidationContext che include uno specifico elemento di modello da convalidare. |
![]() |
ValidationContext(array<String[], IEnumerable<ModelElement>) | ctor |
![]() |
ValidationContext(ValidationCategories, ModelElement) | Costruttore |
![]() |
ValidationContext(ValidationCategories, IEnumerable<ModelElement>) | Costruttore |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
![]() |
Categories | Ottiene le categorie di convalida per questo contesto di convalida. |
![]() |
CurrentViolations | Ottiene la raccolta di messaggi di convalida per il contesto di convalida. |
![]() |
CustomCategories | Ottiene le stringhe di convalida personalizzate per il contesto di convalida. |
![]() |
ValidationSubjects | Ottiene l'elenco degli elementi di modello da convalidare. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
![]() |
ConstructValidationMessage | Crea un messaggio di convalida.È possibile eseguire l'override di questo metodo per costruire un messaggio di convalida personalizzato. |
![]() |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) |
![]() |
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) |
![]() |
GetCache<T>() | Ottiene la cache per la classe specificata. |
![]() |
GetCache<T>(String) | Ottiene la cache per la classe specificata. |
![]() |
GetHashCode | Funge da funzione hash predefinita. (Ereditato da Object) |
![]() |
GetNavigationProxyModelElements | Ottiene gli elementi del modello proxy quando si verifica un errore di convalida nel modello. |
![]() |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
![]() |
LogError | Crea un errore di convalida e registra un messaggio nella raccolta che il contesto di convalida gestisce. |
![]() |
LogFatal | Crea un errore irreversibile per la convalida e registra un messaggio nel contesto di convalida. |
![]() |
LogMessage | Crea un messaggio informativo di convalida e lo registra nella raccolta che il contesto di convalida gestisce. |
![]() |
LogViolation | Crea un errore, un messaggio o avviso di convalida. |
![]() |
LogWarning | Crea un errore avviso di convalida e registra il messaggio nella raccolta che il contesto di convalida gestisce. |
![]() |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
![]() |
SetCacheValue<T> | Imposta l'oggetto memorizzato nella cache associato al nome |
![]() |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
![]() |
TryGetCacheValue<T> | Restituisce un valore che indica 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 modeling avvia il controllo di convalida. Questa istanza viene passato a ogni metodo di convalida registrata per il controllo di convalida.
Ogni volta che un metodo di convalida scritta viene chiamato, il codice può registrare errori di convalida utilizzando il LogError, in LogWarning e i metodi di LogMessage. Questi errori di convalida vengono aggiunte alla proprietà di CurrentViolations dell'oggetto di ValidationContext.
Quando la convalida viene completata, tutti gli errori di convalida, avvisi e messaggi sono rappresentati come raccolte di oggetti di LogMessage nella proprietà di CurrentViolations.
L'oggetto di ValidationContext viene quindi passato a tutti i metodi di convalida successivi. La proprietà di CurrentViolations contiene tutti gli errori, avvisi e messaggi che sono stati verificati fino a questo punto il controllo corrente di convalida.
La prossima volta la convalida viene avviata, un altro oggetto di ValidationContext viene creato. L'oggetto che 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 che viene decorato da un attributo che indica che è un metodo di convalida.
L'oggetto di ValidationContext che verrà passato a ogni metodo di convalida contiene informazioni sull'elaborazione corrente di convalida. Queste informazioni includono gli errori, avvisi e messaggi che vengono accumulati nei metodi di convalida che sia già stata eseguita.
L'oggetto di ValidationContext dispone di metodi che aggiungono gli errori, gli avvisi e messaggi, ad esempio il metodo di LogError 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.