Contract.Ensures 方法

定义

指定封闭方法或属性的后置条件协定。

重载

名称 说明
Ensures(Boolean)

指定封闭方法或属性的后置条件协定。

Ensures(Boolean, String)

为提供的退出条件指定后置条件协定,并指定一条消息,以便在条件为 false时显示。

Ensures(Boolean)

Source:
Contracts.cs
Source:
Contracts.cs
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 -> 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)

Source:
Contracts.cs
Source:
Contracts.cs
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 -> 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 不是常量字符串文本,则工具可能无法理解协定。

适用于