ValidationContext-Klasse
Enthält Informationen über die aktuelle Validierungsverarbeitung, die ausgeführt wird.
Vererbungshierarchie
System.Object
Microsoft.VisualStudio.Modeling.Validation.ValidationContext
Microsoft.VisualStudio.Modeling.Shell.VsValidationContext
Namespace: Microsoft.VisualStudio.Modeling.Validation
Assembly: Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Syntax
'Declaration
Public Class ValidationContext
public class ValidationContext
Der ValidationContext-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
ValidationContext(array<String[], ModelElement) | Initialisiert eine neue Instanz der ValidationContext-Klasse, die ein bestimmtes Modellelement zum Überprüfen hat. | |
ValidationContext(array<String[], IEnumerable<ModelElement>) | ctor | |
ValidationContext(ValidationCategories, ModelElement) | Konstruktor | |
ValidationContext(ValidationCategories, IEnumerable<ModelElement>) | Konstruktor |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
Categories | Ruft die Validierungskategorien für diesen Validierungskontext ab. | |
CurrentViolations | Ruft die Auflistung mit Validierungsmeldungen für den Validierungskontext ab. | |
CustomCategories | Ruft die benutzerdefinierten Formatzeichenfolgen für Validierung für den Validierungskontext ab. | |
ValidationSubjects | Ruft die Liste der zu überprüfenden Modellelemente ab. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
ConstructValidationMessage | Erstellt eine Validierungsmeldung.Sie können diese Methode überschreiben, um eine benutzerdefinierte Validierungsmeldung zu erstellen. | |
Equals | Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.) | |
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.) | |
GetCache<T>() | Ruft den Cache für die angegebene Klasse ab. | |
GetCache<T>(String) | Ruft den Cache für die angegebene Klasse ab. | |
GetHashCode | Fungiert als die Standardhashfunktion. (Von Object geerbt.) | |
GetNavigationProxyModelElements | Ruft die Proxymodellelemente ab, wenn ein Validierungsfehler im Modell auftritt. | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
LogError | Erstellt einen Validierungsfehler und protokolliert eine Meldung in der Sammlung, die der Validierungskontext beibehält. | |
LogFatal | Erstellt einen schwerwiegenden Fehler und protokolliert eine Meldung im Validierungskontext. | |
LogMessage | Erstellt eine Validierungsinformationsmeldung und protokolliert sie in der Sammlung, die der Validierungskontext beibehält. | |
LogViolation | Erstellt einen Validierungsfehler, eine Meldung oder eine Warnung. | |
LogWarning | Erstellt eine Validierungswarnung und protokolliert die Meldung in der Sammlung, die der Validierungskontext beibehält. | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
SetCacheValue<T> | Legt das dem angegebenen Namen zugeordnete zwischengespeicherte Objekt fest. | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) | |
TryGetCacheValue<T> | Gibt zurück, ob das zwischengespeicherte Objekt, das dem Namen zugeordnet ist, vorhanden ist |
Zum Seitenanfang
Hinweise
Eine Instanz dieser Klasse wird jedes Mal erstellt, der der Modellierungsnamespace die Validierungsüberprüfung beginnt. Diese Instanz wird in jede Validierungsmethode übergeben, die Sie für Validierung registriert haben.
Beim Klonen eine Validierungsmethode, die Sie schreiben, aufgerufen wird, kann der Code Validierungsfehler erfasst, indem das LogError, LogWarning und LogMessage - methoden. Diese Validierungsfehler werden der CurrentViolations-Eigenschaft des ValidationContext-Objekts hinzugefügt.
Wenn die Validierung beendet wird, werden alle Validierungsfehler, Warnungen und Meldungen als Auflistungen LogMessage-Objekttreffer in der CurrentViolations-Eigenschaft dargestellt.
Das ValidationContext-Objekt wird dann an alle folgenden Validierungsmethoden übergeben. Die Eigenschaft CurrentViolations enthält alle Fehler, Warnungen und Nachrichten, die bis zu diesem Punkt in der aktuellen Validierung gefunden wurden.
Beim nächsten Ausführen startet dieser Validierung, ein weiteres ValidationContext-Objekt erstellt wird. Dass Objekt zu jeder Validierungsmethode wiederum mit Fehlern, Warnungen und die Nachrichten, die diesem Objekt hinzugefügt werden übergeben wird, während sie angetroffen werden.
Weitere Informationen finden Sie unter Validierung in einer domänenspezifischen Sprache.
Beispiele
Das folgende Beispiel zeigt eine Methode, die durch ein Attribut ergänzt wird, das angibt, dass eine Validierungsmethode ist.
Das ValidationContext-Objekt, das in jeder Validierungsmethode übergeben wird, enthält Informationen über das aktuelle Validierungsverarbeiten. Diese Informationen umfassen die Fehler, Warnungen und Nachrichten, die in den kumulierten Validierungsmethoden, die bereits ausgeführt wurden.
Das ValidationContext-Objekt verfügt über Methoden, die Fehlern, die Warnungen und den Meldungen hinzufügen, wie der LogError methode im folgenden Beispiel:
[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);
}
}
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.