Contract.Ensures Metoda

Definice

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

Přetížení

Name Description
Ensures(Boolean)

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

Ensures(Boolean, String)

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

Ensures(Boolean)

Zdroj:
Contracts.cs
Zdroj:
Contracts.cs
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á testovat. Výraz může obsahovat OldValue<T>(T), ValueAtReturn<T>(T)a Result<T>() hodnoty.

Atributy

Příklady

Následující příklad ukazuje, jak použít metodu Ensures k zajištění, že je vrácena očekávaná hodnota. Tento příklad kódu je součástí většího příkladu uvedeného pro třídu ContractClassAttribute.

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ž 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.

  • Pro vynucení tohoto postconditionu musíte použít binární přepis (dostupný na Code Contracts na Visual Studio Marketplace).

Platí pro

Ensures(Boolean, String)

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

Určuje smlouvu postcondition pro zadanou výstupní podmínku a zprávu, která se má zobrazit, 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á testovat. Výraz může obsahovat OldValue<T>(T) a Result<T>() hodnoty.

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ž 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ň tak viditelné jako uzavírací metoda.

  • Pro vynucení tohoto postconditionu musíte použít binární přepis (dostupný na Code Contracts na Visual Studio Marketplace).

  • Pokud userMessage není konstantní řetězcový literál, nemusí kontrakt rozumět nástrojům.

Platí pro