Contract.Ensures Метод

Определение

Указывает контракт постусловия для включающего метода или свойства.

Перегрузки

Ensures(Boolean)

Указывает контракт постусловия для включающего метода или свойства.

Ensures(Boolean, String)

Указывает контракт постусловия для предоставленного выходного условия и сообщение, отображаемое, если условие имеет значение false.

Ensures(Boolean)

Исходный код:
Contracts.cs
Исходный код:
Contracts.cs
Исходный код:
Contracts.cs

Указывает контракт постусловия для включающего метода или свойства.

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)

Параметры

condition
Boolean

Условное выражение, которое требуется подвергнуть проверке. Выражение может включать значения OldValue<T>(T), ValueAtReturn<T>(T) и Result<T>().

Атрибуты

Примеры

В следующем примере показано, как использовать Ensures метод для обеспечения возврата ожидаемого значения. Этот пример входит в состав более крупного примера использования класса 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

Комментарии

Параметр condition задает постусловие, которое должно быть true , когда включающий метод или свойство возвращается нормально.

  • Этот вызов метода должен находиться в начале метода или свойства перед любым другим кодом.

  • Для принудительного применения этого послеусловия во время выполнения необходимо использовать двоичный перезапись (доступно в разделе Code Contracts в Visual Studio Marketplace).

Применяется к

Ensures(Boolean, String)

Исходный код:
Contracts.cs
Исходный код:
Contracts.cs
Исходный код:
Contracts.cs

Указывает контракт постусловия для предоставленного выходного условия и сообщение, отображаемое, если условие имеет значение 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)

Параметры

condition
Boolean

Условное выражение, которое требуется подвергнуть проверке. Выражение может включать значения OldValue<T>(T) и Result<T>().

userMessage
String

Сообщение, отображаемое в том случае, если выражение не является true.

Атрибуты

Комментарии

Параметр condition задает постусловие, которое должно быть true , когда включающий метод или свойство возвращается нормально.

  • Этот вызов метода должен находиться в начале метода или свойства перед любым другим кодом.

  • Этот контракт предоставляется клиентам; поэтому он должен ссылаться только на элементы, которые по крайней мере так же видимы, как и включающий метод.

  • Для принудительного применения этого послеусловия во время выполнения необходимо использовать двоичный перезапись (доступно в разделе Code Contracts в Visual Studio Marketplace).

  • Если userMessage не является константным строковым литералом, контракт может быть не понят средствами.

Применяется к