Contract クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
実行前の状態、実行後の状態、オブジェクトの不変部分などのプログラム コントラクトを表す静的メソッドを格納します。
public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
- 継承
-
Contract
注釈
コード コントラクト クラスを使用すると、コードで前提条件、事後条件、およびオブジェクトインバリアントを指定できます。 事前条件とは、メソッドやプロパティに入るときに満たされている必要がある要件です。 事後条件は、メソッドやプロパティのコードが終了するときの予測を表します。 オブジェクトインバリアントは、条件の問題がないクラスの予期される状態を表します。 前提条件、事後条件、およびオブジェクトインバリアントの詳細については、「 コード コントラクト」を参照してください。
コード コントラクトを使用するためのツールと詳細な手順については、「Visual Studio Marketplace の コード コントラクト 」を参照してください。
重要
バイナリ リライターを使用して、コントラクトの実行時の適用を挿入する必要があります。 それ以外の Contract.Ensures 場合、メソッドなどのコントラクトは静的にのみテストでき、コントラクトに違反した場合は実行時に例外をスローしません。 バイナリ リライター CCRewrite は、Visual Studio Marketplace の コード コントラクト からダウンロードできます。 CCRewrite には、プロジェクトの [プロパティ ] ページから実行時コントラクトの適用をアクティブ化できる Visual Studio アドインが付属しています。 バイナリ リライターと Visual Studio アドインは、Visual Studio 2010 または Windows SDKに付属していません。
メソッド
Assert(Boolean) |
条件をチェックし、その条件が |
Assert(Boolean, String) |
条件をチェックし、その条件が |
Assume(Boolean) |
常に |
Assume(Boolean, String) |
常に |
EndContractBlock() |
メソッドのコントラクトに |
Ensures(Boolean) |
外側のメソッドまたはプロパティの実行後の状態のコントラクトを指定します。 |
Ensures(Boolean, String) |
指定された終了条件の実行後の状態のコントラクトと、条件が |
EnsuresOnThrow<TException>(Boolean) |
指定された例外および条件に基づいて、外側のメソッドまたはプロパティに実行後の状態のコントラクトを指定します。 |
EnsuresOnThrow<TException>(Boolean, String) |
指定された例外および条件に基づいて、実行後の状態のコントラクトと、外側のメソッドまたはプロパティの条件が |
Exists(Int32, Int32, Predicate<Int32>) |
ある整数範囲内のすべての整数について指定したテストが true かどうかを判定します。 |
Exists<T>(IEnumerable<T>, Predicate<T>) |
ある要素のコレクション内の要素が関数内に存在するかどうかを判断します。 |
ForAll(Int32, Int32, Predicate<Int32>) |
指定した範囲内のすべての整数について特定の状態が有効かどうかを判定します。 |
ForAll<T>(IEnumerable<T>, Predicate<T>) |
コレクション内のすべての要素が関数内に存在するかどうかを判断します。 |
Invariant(Boolean) |
外側のメソッドまたはプロパティの不変コントラクトを指定します。 |
Invariant(Boolean, String) |
外側のメソッドまたはプロパティの不変コントラクトを指定し、コントラクトの条件が失敗した場合はメッセージを表示します。 |
OldValue<T>(T) |
メソッドまたはプロパティの開始時の値を表します。 |
Requires(Boolean) |
外側のメソッドまたはプロパティの実行前の状態のコントラクトを指定します。 |
Requires(Boolean, String) |
外側のメソッドまたはプロパティの実行前の状態のコントラクトを指定し、コントラクトの条件が失敗した場合はメッセージを表示します。 |
Requires<TException>(Boolean) |
外側のメソッドまたはプロパティの実行前の状態のコントラクトを指定し、コントラクトの条件が失敗した場合は例外をスローします。 |
Requires<TException>(Boolean, String) |
外側のメソッドまたはプロパティの実行前の状態のコントラクトを指定し、コントラクトの条件が失敗した場合は指定されたメッセージで例外をスローします。 |
Result<T>() |
メソッドまたはプロパティの戻り値を表します。 |
ValueAtReturn<T>(T) |
メソッドから戻るときの |
イベント
ContractFailed |
コントラクトが失敗すると発生します。 |
適用対象
.NET