Contract.Ensures Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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 |
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
userMessageinte är en konstant strängliteral kan det hända att kontraktet inte förstås av verktyg.