Udostępnij za pośrednictwem


Contract.Ensures Metoda

Definicja

Określa kontrakt postcondition dla otaczającej metody lub właściwości.

Przeciążenia

Ensures(Boolean)

Określa kontrakt postcondition dla otaczającej metody lub właściwości.

Ensures(Boolean, String)

Określa kontrakt postcondition dla podanego warunku zakończenia i komunikat do wyświetlenia, jeśli warunek to false.

Ensures(Boolean)

Źródło:
Contracts.cs
Źródło:
Contracts.cs
Źródło:
Contracts.cs

Określa kontrakt postcondition dla otaczającej metody lub właściwości.

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

Wyrażenie warunkowe do przetestowania. Wyrażenie może zawierać OldValue<T>(T)wartości , ValueAtReturn<T>(T)i Result<T>() .

Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak za pomocą Ensures metody upewnić się, że zwracana jest oczekiwana wartość. Ten przykład kodu jest częścią większego przykładu udostępnionego ContractClassAttribute dla klasy .

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

Uwagi

Parametr condition określa postcondition, który ma być true , gdy otaczającej metody lub właściwości zwraca normalnie.

  • To wywołanie metody musi znajdować się na początku metody lub właściwości przed jakimkolwiek innym kodem.

  • Musisz użyć funkcji ponownej scenarzysty binarnej (dostępnej w sekcji Code Contracts w witrynie Visual Studio Marketplace) w celu wymuszania tego terminu w czasie wykonywania.

Dotyczy

Ensures(Boolean, String)

Źródło:
Contracts.cs
Źródło:
Contracts.cs
Źródło:
Contracts.cs

Określa kontrakt postcondition dla podanego warunku zakończenia i komunikat do wyświetlenia, jeśli warunek to 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")]
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

Wyrażenie warunkowe do przetestowania. Wyrażenie może zawierać OldValue<T>(T) wartości i Result<T>() .

userMessage
String

Komunikat do wyświetlenia, jeśli wyrażenie nie truejest .

Atrybuty

Uwagi

Parametr condition określa postcondition, który ma być true , gdy otaczającej metody lub właściwości zwraca normalnie.

  • To wywołanie metody musi znajdować się na początku metody lub właściwości przed jakimkolwiek innym kodem.

  • Ten kontrakt jest udostępniany klientom; w związku z tym musi odwoływać się tylko do elementów członkowskich, które są co najmniej tak widoczne jak metoda otaczania.

  • Musisz użyć funkcji ponownej scenarzysty binarnej (dostępnej w sekcji Code Contracts w witrynie Visual Studio Marketplace) w celu wymuszania tego terminu w czasie wykonywania.

  • Jeśli userMessage nie jest literałem ciągu stałego, kontrakt może nie być zrozumiały dla narzędzi.

Dotyczy