Поделиться через


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 не является константным строковым литералом, контракт может быть не понят средствами.

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