Contract.Ensures メソッド

定義

外側のメソッドまたはプロパティの事後条件コントラクトを指定します。

オーバーロード

名前 説明
Ensures(Boolean)

外側のメソッドまたはプロパティの事後条件コントラクトを指定します。

Ensures(Boolean, String)

指定された終了条件の事後条件コントラクトと、条件が false場合に表示するメッセージを指定します。

Ensures(Boolean)

外側のメソッドまたはプロパティの事後条件コントラクトを指定します。

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)

指定された終了条件の事後条件コントラクトと、条件が 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")>]
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が定数文字列リテラルでない場合、コントラクトはツールで認識されない可能性があります。

適用対象