Condividi tramite


Contract.Ensures Metodo

Definizione

Specifica un contratto di postcondizione per il metodo o la proprietà contenitore.

Overload

Ensures(Boolean)

Specifica un contratto di postcondizione per il metodo o la proprietà contenitore.

Ensures(Boolean, String)

Specifica un contratto di postcondizione per una condizione di uscita fornita e un messaggio da visualizzare se la condizione è false.

Ensures(Boolean)

Source:
Contracts.cs
Source:
Contracts.cs
Source:
Contracts.cs

Specifica un contratto di postcondizione per il metodo o la proprietà contenitore.

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)

Parametri

condition
Boolean

Espressione condizionale da sottoporre a test. L'espressione potrebbe includere i valori OldValue<T>(T), ValueAtReturn<T>(T) e Result<T>().

Attributi

Esempio

Nell'esempio seguente viene illustrato come usare il Ensures metodo per assicurarsi che venga restituito un valore previsto. Questo esempio di codice fa parte di un esempio più grande fornito per la ContractClassAttribute classe.

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

Commenti

Il condition parametro specifica una postcondizione prevista true quando il metodo di inclusione o la proprietà restituisce normalmente.

  • Questa chiamata al metodo deve essere all'inizio di un metodo o di una proprietà, prima di qualsiasi altro codice.

  • È necessario usare la riscrizione binaria (disponibile in Code Contracts in Visual Studio Marketplace) per l'imposizione in fase di esecuzione di questa postcondizione.

Si applica a

Ensures(Boolean, String)

Source:
Contracts.cs
Source:
Contracts.cs
Source:
Contracts.cs

Specifica un contratto di postcondizione per una condizione di uscita fornita e un messaggio da visualizzare se la condizione è 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)

Parametri

condition
Boolean

Espressione condizionale da sottoporre a test. L'espressione potrebbe includere i valori OldValue<T>(T) e Result<T>().

userMessage
String

Messaggio da visualizzare se l'espressione non è true.

Attributi

Commenti

Il condition parametro specifica una postcondizione prevista true quando il metodo di inclusione o la proprietà restituisce normalmente.

  • Questa chiamata al metodo deve essere all'inizio di un metodo o di una proprietà, prima di qualsiasi altro codice.

  • Questo contratto viene esposto ai client; pertanto, deve fare riferimento solo ai membri che sono almeno visibili come il metodo di inclusione.

  • È necessario usare la riscrizione binaria (disponibile in Code Contracts in Visual Studio Marketplace) per l'imposizione in fase di esecuzione di questa postcondizione.

  • Se userMessage non è un valore letterale stringa costante, il contratto potrebbe non essere compreso dagli strumenti.

Si applica a