Contract.Ensures Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает контракт постусловия для включающего метода или свойства.
Перегрузки
Ensures(Boolean) |
Указывает контракт постусловия для включающего метода или свойства. |
Ensures(Boolean, String) |
Указывает контракт постусловия для предоставленного выходного условия и сообщение, отображаемое, если условие имеет значение |
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
не является константным строковым литералом, контракт может быть не понят средствами.