Contract.Ensures Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica um contrato de pós-condição para o método ou a propriedade delimitadora.
Sobrecargas
Ensures(Boolean) |
Especifica um contrato de pós-condição para o método ou a propriedade delimitadora. |
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 |
Ensures(Boolean)
- Origem:
- Contracts.cs
- Origem:
- Contracts.cs
- Origem:
- Contracts.cs
Especifica um contrato de pós-condição para o método ou a propriedade delimitadora.
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 os valores de OldValue<T>(T), ValueAtReturn<T>(T) e Result<T>().
- 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 Contratos de Código no Visual Studio Marketplace) para a imposição em tempo de execução dessa pós-condição.
Aplica-se a
Ensures(Boolean, String)
- Origem:
- Contracts.cs
- Origem:
- Contracts.cs
- Origem:
- Contracts.cs
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
.
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)
Parâmetros
- condition
- Boolean
A expressão condicional a ser testada. A expressão pode incluir os valores de OldValue<T>(T) e Result<T>().
- userMessage
- String
Uma mensagem a ser exibida se a expressão não for true
.
- 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 são pelo menos tão visíveis quanto o método delimitamento.
Você deve usar o reescritor binário (disponível em Contratos de Código 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.