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 返されるときに想定される事後条件を指定します。

  • このメソッド呼び出しは、他のコードの前に、メソッドまたはプロパティの先頭にある必要があります。

  • この事後条件を実行時に適用するには、バイナリ リライター (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 返されるときに想定される事後条件を指定します。

  • このメソッド呼び出しは、他のコードの前に、メソッドまたはプロパティの先頭にある必要があります。

  • このコントラクトはクライアントに公開されます。したがって、少なくとも外側のメソッドと同じくらい見えるメンバーのみを参照する必要があります。

  • この事後条件を実行時に適用するには、バイナリ リライター (Visual Studio Marketplace の コード コントラクト で利用可能) を使用する必要があります。

  • が定数文字列リテラルでない場合 userMessage 、コントラクトがツールで認識されない可能性があります。

適用対象