ValidationContext-Klasse
Enthält Informationen über die aktuelle Validierung, die ausgeführt werden verarbeitet.
Vererbungshierarchie
System.Object
Microsoft.VisualStudio.Modeling.Validation.ValidationContext
Microsoft.VisualStudio.Modeling.Shell.VsValidationContext
Namespace: Microsoft.VisualStudio.Modeling.Validation
Assembly: Microsoft.VisualStudio.Modeling.Sdk.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.11.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 zu überprüfende hat Modellelement. | |
ValidationContext(array<String[], IEnumerable<ModelElement>) | Ctor | |
ValidationContext(ValidationCategories, ModelElement) | Konstruktor | |
ValidationContext(ValidationCategories, IEnumerable<ModelElement>) | Konstruktor |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
Categories | Ruft die Validierung Kategorien für den Validierungskontext ab. | |
CurrentViolations | Ruft die Auflistung mit Validierungsmeldungen für den Validierungskontext. | |
CustomCategories | Ruft die benutzerdefinierten Formatzeichenfolgen Validierung für den Validierungskontext ab. | |
ValidationSubjects | Ruft die Liste mit Modellelementen ab, um zu überprüfen. |
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 Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) | |
GetNavigationProxyModelElements | Ruft die modellelemente 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 Auflistung, die der Validierungskontext beibehält. | |
LogFatal | Erstellt ein schwer wiegender Fehler protokolliert für die Validierung und eine Meldung im Validierungskontext. | |
LogMessage | Erstellt eine Validierung für eine mit und protokolliert sie in der Auflistung, die der Validierungskontext beibehält. | |
LogViolation | Erstellt einen Validierungsfehler oder eine Meldung, c$warnen. | |
LogWarning | Erstellt eine Validierung warnung und protokolliert die Meldung in der Auflistung, die der Validierungskontext beibehält. | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
SetCacheValue<T> | Legen Sie das zwischengespeicherte Objekt ab, das mit dem Namen zugeordnet wurde | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) | |
TryGetCacheValue<T> | Gibt zurück, ob das zwischengespeicherte Objekt, das mit dem Namen zugeordnet ist oder nicht vorhanden sind |
Zum Seitenanfang
Hinweise
Eine Instanz dieser Klasse wird jedes Mal erstellt, der Modellierungs der Namespace für die Validierung beginnt.Diese Instanz wird jede Validierungsmethode übergeben, die Sie für die Validierung registriert haben.
Jedes Mal, wenn eine Validierungsmethode, die Sie schreiben, aufgerufen wird, kann der Code Validierungsfehler protokollieren, indem er das LogError, LogWarningund LogMessage-Methode verwendet.Diese Validierungsfehler werden zur CurrentViolations-Eigenschaft des ValidationContext-Objekts hinzugefügt.
Wenn die Validierung beendet wird, werden alle Validierungsfehler, Warnungen und Meldungen als Auflistungen LogMessage-Objekte in der CurrentViolations-Eigenschaft dargestellt.
Das ValidationContext-Objekt wird dann alle nachfolgenden Validierungsmethoden übergeben.Die CurrentViolations-Eigenschaft enthält alle Fehler, Warnungen und Meldungen, die bis zu diesem Zeitpunkt in der aktuellen Validierung aufgetreten sind.
Beim nächsten Start der Validierung ein anderes ValidationContext-Objekt erstellt wird.Dieses Objekt in jeder Validierungsmethode wiederum mit Fehlern, Warnungen und Meldungen übergeben wird, können für dieses Objekt hinzu, wie sie auftreten.
Weitere Informationen finden Sie unter Validierung in einer domänenspezifischen Sprache.
Beispiele
Im folgenden Beispiel ist eine Methode, die von einem Attribut ergänzt wird. Damit wird angegeben, dass es sich um eine Validierungsmethode ist.
Das ValidationContext-Objekt, das in jede Validierungsmethode übergeben wird, enthält Informationen über das aktuelle Validierung verarbeiten.Diese Informationen umfassen die Fehler, Warnungen und Meldungen, die in den Validierungsmethoden akkumulierten, die bereits ausgeführt wurden.
Das ValidationContext-Objekt verfügt über Methoden, die den Fehler, Warnungen und Meldungen hinzufügen, wie der LogError-Methode im folgenden Beispiel gezeigt:
[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.