Contract.Ensures Метод

Определение

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

Перегрузки

Имя Описание
Ensures(Boolean)

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

Ensures(Boolean, String)

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

Ensures(Boolean)

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

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

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
Исходный код:
Contracts.cs
Исходный код:
Contracts.cs

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

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