Contract.Ensures Método

Definição

Especifica um contrato de pós-condição para o método ou propriedade delimitando.

Sobrecargas

Nome Description
Ensures(Boolean)

Especifica um contrato de pós-condição para o método ou propriedade delimitando.

Ensures(Boolean, String)

Especifica um contrato pós-condição para uma condição de saída fornecida e uma mensagem a ser exibida se a condição for false.

Ensures(Boolean)

Especifica um contrato de pós-condição para o método ou propriedade delimitando.

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)

Parâmetros

condition
Boolean

A expressão condicional a ser testada. A expressão pode incluir OldValue<T>(T), ValueAtReturn<T>(T)e Result<T>() valores.

Atributos

Exemplos

O exemplo a seguir mostra como usar o Ensures método para garantir que um valor esperado seja retornado. Este exemplo de código faz parte de um exemplo maior fornecido para a 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

Comentários

O condition parâmetro especifica uma pós-condição que deve ser true quando o método ou propriedade delimitante retorna normalmente.

  • Essa chamada de método deve estar no início de um método ou propriedade, antes de qualquer outro código.

  • Você deve usar o reescritor binário (disponível em Code Contracts no Visual Studio Marketplace) para a imposição em tempo de execução dessa pós-condição.

Aplica-se a

Ensures(Boolean, String)

Especifica um contrato pós-condição para uma condição de saída fornecida e uma mensagem a ser exibida se a condição for 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)

Parâmetros

condition
Boolean

A expressão condicional a ser testada. A expressão pode incluir OldValue<T>(T) e Result<T>() valores.

userMessage
String

A mensagem a ser exibida se a expressão não truefor .

Atributos

Comentários

O condition parâmetro especifica uma pós-condição que deve ser true quando o método ou propriedade delimitante retorna normalmente.

  • Essa chamada de método deve estar no início de um método ou propriedade, antes de qualquer outro código.

  • Esse contrato é exposto aos clientes; portanto, ele só deve referenciar membros que sejam pelo menos tão visíveis quanto o método delimitador.

  • Você deve usar o reescritor binário (disponível em Code Contracts no Visual Studio Marketplace) para a imposição em tempo de execução dessa pós-condição.

  • Se userMessage não for um literal de cadeia de caracteres constante, o contrato poderá não ser compreendido pelas ferramentas.

Aplica-se a