Contract.Ensures Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 |
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 false
podmí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ý.