Contract.Ensures Contract.Ensures Contract.Ensures Contract.Ensures Method

Definição

Especifica um contrato de pós-condição para o método ou a propriedade delimitadora.Specifies a postcondition contract for the enclosing method or property.

Sobrecargas

Ensures(Boolean) Ensures(Boolean) Ensures(Boolean) Ensures(Boolean)

Especifica um contrato de pós-condição para o método ou a propriedade delimitadora.Specifies a postcondition contract for the enclosing method or property.

Ensures(Boolean, String) Ensures(Boolean, String) Ensures(Boolean, String) Ensures(Boolean, String)

Especifica um contrato de pós-condição para uma condição de saída fornecida e uma mensagem a ser exibida se a condição for false.Specifies a postcondition contract for a provided exit condition and a message to display if the condition is false.

Ensures(Boolean) Ensures(Boolean) Ensures(Boolean) Ensures(Boolean)

Especifica um contrato de pós-condição para o método ou a propriedade delimitadora.Specifies a postcondition contract for the enclosing method or property.

public:
 static void Ensures(bool condition);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Ensures (bool condition);
static member Ensures : bool -> unit
Public Shared Sub Ensures (condition As Boolean)

Parâmetros

condition
Boolean Boolean Boolean Boolean

A expressão condicional a ser testada.The conditional expression to test. A expressão pode incluir os valores de OldValue<T>(T), ValueAtReturn<T>(T) e Result<T>().The expression may include OldValue<T>(T), ValueAtReturn<T>(T), and Result<T>() values.

Exemplos

O exemplo a seguir mostra como usar o Ensures método para garantir que um valor esperado seja retornado.The following example shows how to use the Ensures method to ensure that an expected value is returned. Este exemplo de código faz parte de um exemplo maior fornecido para ContractClassAttribute a classe.This code example is part of a larger example provided for the ContractClassAttribute class.

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

Comentários

O condition parâmetro especifica uma pré-condição que deve ser true quando o método ou a propriedade delimitadora retornar normalmente.The condition parameter specifies a postcondition that is expected to be true when the enclosing method or property returns normally.

  • Essa chamada de método deve estar no início de um método ou propriedade, antes de qualquer outro código.This method call must be at the beginning of a method or property, before any other code.

  • Você deve usar o regravador binário (disponível em contratos de código no site do MSDN DevLabs) para a imposição de tempo de execução dessa condição.You must use the binary rewriter (available at Code Contracts on the MSDN DevLabs Web site) for run-time enforcement of this postcondition.

Ensures(Boolean, String) Ensures(Boolean, String) Ensures(Boolean, String) Ensures(Boolean, String)

Especifica um contrato de pós-condição para uma condição de saída fornecida e uma mensagem a ser exibida se a condição for false.Specifies a postcondition contract for a provided exit condition and a message to display if the condition is false.

public:
 static void Ensures(bool condition, System::String ^ userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Ensures (bool condition, string userMessage);
static member Ensures : bool * string -> unit
Public Shared Sub Ensures (condition As Boolean, userMessage As String)

Parâmetros

condition
Boolean Boolean Boolean Boolean

A expressão condicional a ser testada.The conditional expression to test. A expressão pode incluir os valores de OldValue<T>(T) e Result<T>().The expression may include OldValue<T>(T) and Result<T>() values.

userMessage
String String String String

Uma mensagem a ser exibida se a expressão não for true.The message to display if the expression is not true.

Comentários

O condition parâmetro especifica uma pré-condição que deve ser true quando o método ou a propriedade delimitadora retornar normalmente.The condition parameter specifies a postcondition that is expected to be true when the enclosing method or property returns normally.

  • Essa chamada de método deve estar no início de um método ou propriedade, antes de qualquer outro código.This method call must be at the beginning of a method or property, before any other code.

  • Este contrato é exposto aos clientes; Portanto, ele só deve referenciar membros que sejam pelo menos tão visíveis quanto o método delimitador.This contract is exposed to clients; therefore, it must only reference members that are at least as visible as the enclosing method.

  • Você deve usar o regravador binário (disponível em contratos de código no site do MSDN DevLabs) para a imposição de tempo de execução dessa condição.You must use the binary rewriter (available at Code Contracts on the MSDN DevLabs Web site) for run-time enforcement of this postcondition.

  • Se userMessage não for uma literal de cadeia de caracteres constante, o contrato poderá não ser compreendido por ferramentas.If userMessage is not a constant string literal, the contract may not be understood by tools.

Aplica-se a