Contract.Ensures メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
外側のメソッドまたはプロパティの実行後の状態のコントラクトを指定します。
オーバーロード
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
返されるときに想定される事後条件を指定します。
このメソッド呼び出しは、他のコードの前に、メソッドまたはプロパティの先頭にある必要があります。
この事後条件を実行時に適用するには、バイナリ リライター (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
、コントラクトがツールで認識されない可能性があります。
適用対象
.NET