Share via


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