Contract.Ensures Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica um contrato pós-condição para o método de encerramento ou propriedade.
Sobrecargas
| Name | Description |
|---|---|
| Ensures(Boolean) |
Especifica um contrato pós-condição para o método de encerramento ou propriedade. |
| Ensures(Boolean, String) |
Especifica um contrato pós-condição para uma condição de saída fornecida e uma mensagem a mostrar se a condição for |
Ensures(Boolean)
Especifica um contrato pós-condição para o método de encerramento ou propriedade.
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 para testar. A expressão pode incluir OldValue<T>(T), ValueAtReturn<T>(T), e Result<T>() valores.
- Atributos
Exemplos
O exemplo seguinte mostra como usar o Ensures método para garantir que um valor esperado é devolvido. 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
Observações
O condition parâmetro especifica uma postcondição que se espera que seja true quando o método ou propriedade de encerramento retorna normalmente.
Esta chamada de método deve estar no início de um método ou propriedade, antes de qualquer outro código.
Deve usar o reescritor binário (disponível em Code Contracts no Visual Studio Marketplace) para aplicar esta condição em tempo de execuçã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 mostrar 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 para testar. A expressão pode incluir OldValue<T>(T) valores e Result<T>() .
- userMessage
- String
A mensagem a mostrar se a expressão não truefor .
- Atributos
Observações
O condition parâmetro especifica uma postcondição que se espera que seja true quando o método ou propriedade de encerramento retorna normalmente.
Esta chamada de método deve estar no início de um método ou propriedade, antes de qualquer outro código.
Este contrato é exposto aos clientes; portanto, só deve referenciar membros que sejam pelo menos tão visíveis quanto o método de anexo.
Deve usar o reescritor binário (disponível em Code Contracts no Visual Studio Marketplace) para aplicar esta condição em tempo de execução.
Se
userMessagenão for uma cadeia literal constante, o contrato pode não ser compreendido pelas ferramentas.