Freigeben über


Contract.Ensures Methode

Definition

Gibt einen Nachbedingungsvertrag für die einschließende Methode oder Eigenschaft an.

Überlädt

Ensures(Boolean)

Gibt einen Nachbedingungsvertrag für die einschließende Methode oder Eigenschaft an.

Ensures(Boolean, String)

Gibt einen Nachbedingungsvertrag für eine vorhandene Exit-Bedingung und eine Meldung an, die angezeigt wird, wenn die Bedingung false ist.

Ensures(Boolean)

Quelle:
Contracts.cs
Quelle:
Contracts.cs
Quelle:
Contracts.cs

Gibt einen Nachbedingungsvertrag für die einschließende Methode oder Eigenschaft an.

public:
 static void Ensures(bool condition);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Ensures (bool condition);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Ensures : bool -> unit
Public Shared Sub Ensures (condition As Boolean)

Parameter

condition
Boolean

Der bedingte Ausdruck, der getestet werden soll. Der Ausdruck kann folgende Werte enthalten: OldValue<T>(T), ValueAtReturn<T>(T) und Result<T>().

Attribute

Beispiele

Im folgenden Beispiel wird gezeigt, wie die Ensures -Methode verwendet wird, um sicherzustellen, dass ein erwarteter Wert zurückgegeben wird. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die ContractClassAttribute-Klasse bereitgestellt wird.

int IArray.Add(Object value)
{
    // Returns the index in which an item was inserted.
    Contract.Ensures(Contract.Result<int>() >= -1);
    Contract.Ensures(Contract.Result<int>() < ((IArray)this).Count);
    return default(int);
}
Function Add(ByVal value As Object) As Integer Implements IArray.Add
    ' Returns the index in which an item was inserted.
    Contract.Ensures(Contract.Result(Of Integer)() >= -1) '
    Contract.Ensures(Contract.Result(Of Integer)() < CType(Me, IArray).Count) '
    Return 0
    
End Function 'IArray.Add

Hinweise

Der condition Parameter gibt eine Postbedingung an, die erwartet wird true , wenn die einschließende Methode oder Eigenschaft normal zurückgegeben wird.

  • Dieser Methodenaufruf muss am Anfang einer Methode oder Eigenschaft vor jedem anderen Code stehen.

  • Sie müssen den binären Rewriter (verfügbar unter Code Contracts im Visual Studio Marketplace) für die Laufzeiterzwingung dieser Postcondition verwenden.

Gilt für:

Ensures(Boolean, String)

Quelle:
Contracts.cs
Quelle:
Contracts.cs
Quelle:
Contracts.cs

Gibt einen Nachbedingungsvertrag für eine vorhandene Exit-Bedingung und eine Meldung an, die angezeigt wird, wenn die Bedingung false ist.

public:
 static void Ensures(bool condition, System::String ^ userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Ensures (bool condition, string userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Ensures (bool condition, string? userMessage);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Ensures : bool * string -> unit
Public Shared Sub Ensures (condition As Boolean, userMessage As String)

Parameter

condition
Boolean

Der bedingte Ausdruck, der getestet werden soll. Der Ausdruck kann folgende Werte enthalten: OldValue<T>(T) und Result<T>().

userMessage
String

Die Meldung, die angezeigt wird, wenn der Ausdruck nicht true ist.

Attribute

Hinweise

Der condition Parameter gibt eine Postbedingung an, die erwartet wird true , wenn die einschließende Methode oder Eigenschaft normal zurückgegeben wird.

  • Dieser Methodenaufruf muss am Anfang einer Methode oder Eigenschaft vor jedem anderen Code stehen.

  • Dieser Vertrag ist für Clients verfügbar gemacht; Daher darf sie nur auf Member verweisen, die mindestens so sichtbar sind wie die einschließende Methode.

  • Sie müssen den binären Rewriter (verfügbar unter Code Contracts im Visual Studio Marketplace) für die Laufzeiterzwingung dieser Postcondition verwenden.

  • Wenn userMessage kein konstantes Zeichenfolgenliteral ist, wird der Vertrag von Tools möglicherweise nicht verstanden.

Gilt für: