Contract.Ensures Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 è |
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.