Contract.Ensures Metoda

Definice

Určuje kontrakt postcondition pro ohraničující metodu nebo vlastnost.

Přetížení

Ensures(Boolean)

Určuje kontrakt postcondition pro ohraničující metodu nebo vlastnost.

Ensures(Boolean, String)

Určuje kontrakt postcondition pro zadanou výstupní podmínku a zprávu, která se zobrazí, pokud je falsepodmínka .

Ensures(Boolean)

Zdroj:
Contracts.cs
Zdroj:
Contracts.cs
Zdroj:
Contracts.cs

Určuje kontrakt postcondition pro ohraničující metodu nebo vlastnost.

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)

Parametry

condition
Boolean

Podmíněný výraz, který se má otestovat. Výraz může obsahovat OldValue<T>(T)hodnoty , ValueAtReturn<T>(T)a Result<T>() .

Atributy

Příklady

Následující příklad ukazuje, jak pomocí Ensures metody zajistit, aby se vrátila očekávaná hodnota. Tento příklad kódu je součástí většího příkladu ContractClassAttribute pro třídu.

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

Poznámky

Parametr condition určuje postcondition, který se očekává true , když se ohraničující metoda nebo vlastnost vrátí normálně.

  • Toto volání metody musí být na začátku metody nebo vlastnosti před jakýmkoli jiným kódem.

  • K vynucení této podmínky za běhu je nutné použít binární rewriter (k dispozici v části Kontrakty kódu na Webu Visual Studio Marketplace).

Platí pro

Ensures(Boolean, String)

Zdroj:
Contracts.cs
Zdroj:
Contracts.cs
Zdroj:
Contracts.cs

Určuje kontrakt postcondition pro zadanou výstupní podmínku a zprávu, která se zobrazí, pokud je falsepodmínka .

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)

Parametry

condition
Boolean

Podmíněný výraz, který se má otestovat. Výraz může obsahovat OldValue<T>(T) hodnoty a Result<T>() .

userMessage
String

Zpráva, která se má zobrazit, pokud výraz není true.

Atributy

Poznámky

Parametr condition určuje postcondition, který se očekává true , když se ohraničující metoda nebo vlastnost vrátí normálně.

  • Toto volání metody musí být na začátku metody nebo vlastnosti před jakýmkoli jiným kódem.

  • Tato smlouva je vystavena klientům; proto musí odkazovat pouze na členy, které jsou alespoň stejně viditelné jako uzavírací metoda.

  • K vynucení této podmínky za běhu je nutné použít binární rewriter (k dispozici v části Kontrakty kódu na Webu Visual Studio Marketplace).

  • Pokud userMessage se nejedná o konstantní řetězcový literál, nemusí být kontrakt nástrojům srozumitelný.

Platí pro