Freigeben über


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
Öffentliche Methode ValidationContext(array<String[], ModelElement) Initialisiert eine neue Instanz der ValidationContext-Klasse, die ein bestimmtes zu überprüfende hat Modellelement.
Öffentliche Methode ValidationContext(array<String[], IEnumerable<ModelElement>) Ctor
Öffentliche Methode ValidationContext(ValidationCategories, ModelElement) Konstruktor
Öffentliche Methode ValidationContext(ValidationCategories, IEnumerable<ModelElement>) Konstruktor

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft Categories Ruft die Validierung Kategorien für den Validierungskontext ab.
Öffentliche Eigenschaft CurrentViolations Ruft die Auflistung mit Validierungsmeldungen für den Validierungskontext.
Öffentliche Eigenschaft CustomCategories Ruft die benutzerdefinierten Formatzeichenfolgen Validierung für den Validierungskontext ab.
Öffentliche Eigenschaft ValidationSubjects Ruft die Liste mit Modellelementen ab, um zu überprüfen.

Zum Seitenanfang

Methoden

  Name Beschreibung
Geschützte Methode ConstructValidationMessage Erstellt eine Validierungsmeldung.Sie können diese Methode überschreiben, um eine benutzerdefinierte Validierungsmeldung zu erstellen.
Öffentliche Methode Equals Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte Methode 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.)
Öffentliche Methode GetCache<T>() Ruft den Cache für die angegebene Klasse ab.
Öffentliche Methode GetCache<T>(String) Ruft den Cache für die angegebene Klasse ab.
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetNavigationProxyModelElements Ruft die modellelemente ab, wenn ein Validierungsfehler im Modell auftritt.
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode LogError Erstellt einen Validierungsfehler und protokolliert eine Meldung in der Auflistung, die der Validierungskontext beibehält.
Öffentliche Methode LogFatal Erstellt ein schwer wiegender Fehler protokolliert für die Validierung und eine Meldung im Validierungskontext.
Öffentliche Methode LogMessage Erstellt eine Validierung für eine mit und protokolliert sie in der Auflistung, die der Validierungskontext beibehält.
Öffentliche Methode LogViolation Erstellt einen Validierungsfehler oder eine Meldung, c$warnen.
Öffentliche Methode LogWarning Erstellt eine Validierung warnung und protokolliert die Meldung in der Auflistung, die der Validierungskontext beibehält.
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode SetCacheValue<T> Legen Sie das zwischengespeicherte Objekt ab, das mit dem Namen zugeordnet wurde
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche Methode 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.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling.Validation-Namespace