Contract.Ensures 方法 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为封闭方法或属性指定一个后置条件协定。
重载
| Ensures(Boolean) | 为封闭方法或属性指定一个后置条件协定。 | 
| Ensures(Boolean, String) | 为提供的退出条件指定后置条件协定,并指定条件为  | 
Ensures(Boolean)
- Source:
- Contracts.cs
- Source:
- Contracts.cs
- Source:
- 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 -> unitPublic 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 后置条件。
- 此方法调用必须在方法或属性的开头,然后再调用任何其他代码。 
- 必须使用 Visual Studio 市场) 的代码协定 中提供的二进制重写程序 (,以便在运行时强制实施此后置条件。 
适用于
Ensures(Boolean, String)
- Source:
- Contracts.cs
- Source:
- Contracts.cs
- Source:
- 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 -> unitPublic Shared Sub Ensures (condition As Boolean, userMessage As String)参数
- condition
- Boolean
要测试的条件表达式。 该表达式可以包括 OldValue<T>(T) 和 Result<T>() 值。
- userMessage
- String
表达式不为 true 时要显示的消息。
- 属性
注解
参数 condition 指定在封闭方法或属性正常返回时预期的 true 后置条件。
- 此方法调用必须在方法或属性的开头,然后再调用任何其他代码。 
- 此合同向客户端公开:因此,它必须仅引用至少与封闭方法一样可见的成员。 
- 必须使用 Visual Studio 市场) 的代码协定 中提供的二进制重写程序 (,以便在运行时强制实施此后置条件。 
- 如果 - userMessage不是常量字符串文本,则工具可能无法理解协定。