Contract.Ensures Metod

Definition

Anger ett postcondition-kontrakt för den omslutande metoden eller egenskapen.

Överlagringar

Name Description
Ensures(Boolean)

Anger ett postcondition-kontrakt för den omslutande metoden eller egenskapen.

Ensures(Boolean, String)

Anger ett postcondition-kontrakt för ett angivet avslutningsvillkor och ett meddelande som ska visas om villkoret är false.

Ensures(Boolean)

Anger ett postcondition-kontrakt för den omslutande metoden eller egenskapen.

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)

Parametrar

condition
Boolean

Villkorsuttrycket som ska testas. Uttrycket kan innehålla OldValue<T>(T), ValueAtReturn<T>(T)och Result<T>() värden.

Attribut

Exempel

I följande exempel visas hur du använder Ensures metoden för att säkerställa att ett förväntat värde returneras. Det här kodexemplet är en del av ett större exempel för ContractClassAttribute klassen.

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

Kommentarer

Parametern condition anger en postkondition som förväntas vara true när den omslutande metoden eller egenskapen returnerar normalt.

  • Det här metodanropet måste vara i början av en metod eller egenskap, innan någon annan kod.

  • Du måste använda den binära skrivmaskinen (tillgänglig på Code Contracts på Visual Studio Marketplace) för körning av den här efterkonditionen.

Gäller för

Ensures(Boolean, String)

Anger ett postcondition-kontrakt för ett angivet avslutningsvillkor och ett meddelande som ska visas om villkoret är false.

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")>]
static member Ensures : bool * string -> unit
Public Shared Sub Ensures (condition As Boolean, userMessage As String)

Parametrar

condition
Boolean

Villkorsuttrycket som ska testas. Uttrycket kan innehålla OldValue<T>(T) och Result<T>() värden.

userMessage
String

Meddelandet som ska visas om uttrycket inte trueär .

Attribut

Kommentarer

Parametern condition anger en postkondition som förväntas vara true när den omslutande metoden eller egenskapen returnerar normalt.

  • Det här metodanropet måste vara i början av en metod eller egenskap, innan någon annan kod.

  • Det här kontraktet exponeras för klienter. Den får därför endast hänvisa till medlemmar som är minst lika synliga som den omslutande metoden.

  • Du måste använda den binära skrivmaskinen (tillgänglig på Code Contracts på Visual Studio Marketplace) för körning av den här efterkonditionen.

  • Om userMessage inte är en konstant strängliteral kan det hända att kontraktet inte förstås av verktyg.

Gäller för