Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch
Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Contract-Klasse

Enthält statische Methoden zum Darstellen von Programmverträgen, z. B. Vorbedingungen, Nachbedingungen und Objektinvarianten.

System.Object
  System.Diagnostics.Contracts.Contract

Namespace:  System.Diagnostics.Contracts
Assembly:  mscorlib (in mscorlib.dll)

public static class Contract

Der Contract-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeStatischer MemberAssert(Boolean)Überprüft eine Bedingung. Wenn die Bedingung false ist, wird die festgelegte Ausweitungsrichtlinie für den Analyzer angewendet.
Öffentliche MethodeStatischer MemberAssert(Boolean, String)Überprüft eine Bedingung. Wenn die Bedingung false ist, wird die vom Analyzer festgelegte Ausweitungsrichtlinie angewendet und die angegebene Meldung angezeigt.
Öffentliche MethodeStatischer MemberAssume(Boolean)Weist Codeanalysetools an, für die angegebene Bedingung das Ergebnis true anzunehmen, auch wenn nicht statisch belegt werden kann, dass sie immer true ist.
Öffentliche MethodeStatischer MemberAssume(Boolean, String)Weist Codeanalysetools an, für eine Bedingung das Ergebnis true anzunehmen, auch wenn nicht statisch belegt werden kann, dass sie immer true ist, und zeigt eine Meldung an, wenn die Annahme fehlschlägt.
Öffentliche MethodeStatischer MemberEndContractBlockMarkiert das Ende des Vertragsabschnitts, wenn die Verträge einer Methode nur Vorbedingungen im if-then-throw-Format enthalten.
Öffentliche MethodeStatischer MemberEnsures(Boolean)Gibt einen Nachbedingungsvertrag für die einschließende Methode oder Eigenschaft an.
Öffentliche MethodeStatischer MemberEnsures(Boolean, String)Gibt einen Nachbedingungsvertrag für eine vorhandene Exit-Bedingung und eine Meldung an, die angezeigt wird, wenn die Bedingung false ist.
Öffentliche MethodeStatischer MemberEnsuresOnThrow<TException>(Boolean)Gibt einen Nachbedingungsvertrag für die einschließende Methode oder Eigenschaft auf Grundlage der angegebenen Ausnahme und Bedingung an.
Öffentliche MethodeStatischer MemberEnsuresOnThrow<TException>(Boolean, String)Gibt auf Grundlage der angegebenen Ausnahme und Bedingung einen Nachbedingungsvertrag für die Ausnahme und Bedingung und eine Meldung an, die angezeigt wird, wenn die Bedingung false ist.
Öffentliche MethodeStatischer MemberExists(Int32, Int32, Predicate<Int32>)Bestimmt, ob ein bestimmter Test für jede ganze Zahl in einem Bereich von ganzen Zahlen den den Wert true zurückgibt.
Öffentliche MethodeStatischer MemberExists<T>(IEnumerable<T>, Predicate<T>)Bestimmt, ob ein Element in einer Auflistung von Elementen in einer Funktion vorhanden ist.
Öffentliche MethodeStatischer MemberForAll(Int32, Int32, Predicate<Int32>)Bestimmt, ob eine angegebene Bedingung für alle ganzen Zahlen in einem angegebenen Bereich gültig ist.
Öffentliche MethodeStatischer MemberForAll<T>(IEnumerable<T>, Predicate<T>)Bestimmt, ob alle Elemente in einer Auflistung in einer Funktion vorhanden sind.
Öffentliche MethodeStatischer MemberInvariant(Boolean)Gibt einen invarianten Vertrag für die einschließende Methode oder Eigenschaft an.
Öffentliche MethodeStatischer MemberInvariant(Boolean, String)Gibt einen invarianten Vertrag für die einschließende Methode oder Eigenschaft an und zeigt eine Meldung an, wenn die Bedingung für den Vertrag nicht erfüllt wird.
Öffentliche MethodeStatischer MemberOldValue<T>Stellt Werte in ihrem Zustand beim Starten einer Methode oder einer Eigenschaft dar.
Öffentliche MethodeStatischer MemberRequires(Boolean)Gibt einen Vorbedingungsvertrag für die einschließende Methode oder Eigenschaft an.
Öffentliche MethodeStatischer MemberRequires(Boolean, String)Gibt einen Vorbedingungsvertrag für die einschließende Methode oder Eigenschaft an, und zeigt eine Meldung an, wenn die Bedingung für den Vertrag nicht erfüllt wird.
Öffentliche MethodeStatischer MemberRequires<TException>(Boolean)Gibt einen Vorbedingungsvertrag für die einschließende Methode oder Eigenschaft an, und löst eine Ausnahme aus, wenn die Bedingung für den Vertrag nicht erfüllt wird.
Öffentliche MethodeStatischer MemberRequires<TException>(Boolean, String)Gibt einen Vorbedingungsvertrag für die einschließende Methode oder Eigenschaft an, und löst eine Ausnahme mit der angegebenen Meldung aus, wenn die Bedingung für den Vertrag nicht erfüllt wird.
Öffentliche MethodeStatischer MemberResult<T>Stellt den Rückgabewert einer Methode oder Eigenschaft dar.
Öffentliche MethodeStatischer MemberValueAtReturn<T>Stellt den von einer Methode zurückgegebenen endgültigen Wert (Ausgabewert) eines out-Parameters dar.
Zum Seitenanfang

  NameBeschreibung
Öffentliches EreignisStatischer MemberContractFailedTritt auf, wenn ein Vertrag fehlschlägt.
Zum Seitenanfang

Codevertragsklassen bieten eine Möglichkeit, Vorbedingungen, Nachbedingungen und Objektinvarianten im Code festzulegen. Vorbedingungen sind Anforderungen, die beim Eingeben einer Methode oder Eigenschaft erfüllt werden müssen. Nachbedingungen beschreiben Erwartungen zu dem Zeitpunkt, zu dem die Methode oder der Eigenschaftencode beendet wird. Objektinvariante Elemente beschreiben den erwarteten Zustand für eine Klasse, die in einem einwandfreien Zustand ist. Weitere Informationen über die Vorbedingungen, Nachbedingungen und Objektinvarianten finden Sie unter Codeverträge.

Wichtiger HinweisWichtig

Sie müssen ein Visual Studio-Add-In installieren, um Verträge zu erzwingen. Mit dem Premium Edition-Add-In für Codeverträge können Sie die statische Überprüfung und Laufzeitüberprüfung von Codeverträgen auf der Seite Eigenschaften für Projekte angeben. Wenn Sie keine Laufzeitüberprüfung aktivieren, lösen Verträge, z. B. die Contract.Ensures-Methode, während der Laufzeit keine Ausnahmen aus, wenn gegen einen Vertrag verstoßen wird. Das Visual Studio-Add-In wird nicht mit Visual Studio 2010 oder dem Windows SDK geliefert.

.NET Framework

Unterstützt in: 4

.NET Framework Client Profile

Unterstützt in: 4

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Datum

Versionsgeschichte

Grund

März 2011

Informationen zum Visual Studio-Add-In wurden aktualisiert.

Kundenfeedback.

Anzeigen: