Compartir vía


Contract.Ensures Método

Definición

Especifica un contrato de condición posterior para el método o la propiedad envolvente.

Sobrecargas

Ensures(Boolean)

Especifica un contrato de condición posterior para el método o la propiedad envolvente.

Ensures(Boolean, String)

Especifica un contrato de condición posterior para una condición de salida proporcionada y un mensaje para mostrar si la condición es false.

Ensures(Boolean)

Source:
Contracts.cs
Source:
Contracts.cs
Source:
Contracts.cs

Especifica un contrato de condición posterior para el método o la propiedad envolvente.

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

Expresión condicional que se va a probar. La expresión puede incluir los valores OldValue<T>(T), ValueAtReturn<T>(T) y Result<T>().

Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo usar el Ensures método para asegurarse de que se devuelve un valor esperado. Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase ContractClassAttribute.

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

Comentarios

El condition parámetro especifica una condición posterior que se espera que sea true cuando el método o la propiedad envolvente vuelvan normalmente.

  • Esta llamada al método debe estar al principio de un método o propiedad, antes de cualquier otro código.

  • Debe usar la reescritura binaria (disponible en Contratos de código en Visual Studio Marketplace) para el cumplimiento en tiempo de ejecución de esta condición posterior.

Se aplica a

Ensures(Boolean, String)

Source:
Contracts.cs
Source:
Contracts.cs
Source:
Contracts.cs

Especifica un contrato de condición posterior para una condición de salida proporcionada y un mensaje para mostrar si la condición es 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

Expresión condicional que se va a probar. La expresión puede incluir los valores OldValue<T>(T) y Result<T>().

userMessage
String

Mensaje para mostrar si la expresión no es true.

Atributos

Comentarios

El condition parámetro especifica una condición posterior que se espera que sea true cuando el método o la propiedad envolvente vuelvan normalmente.

  • Esta llamada al método debe estar al principio de un método o propiedad, antes de cualquier otro código.

  • Este contrato se expone a los clientes; por lo tanto, solo debe hacer referencia a miembros que sean al menos tan visibles como método envolvente.

  • Debe usar la reescritura binaria (disponible en Contratos de código en Visual Studio Marketplace) para el cumplimiento en tiempo de ejecución de esta condición posterior.

  • Si userMessage no es un literal de cadena constante, es posible que las herramientas no comprendan el contrato.

Se aplica a