Contract.Invariant メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
外側のメソッドまたはプロパティのコントラクトを指定します。
オーバーロード
Invariant(Boolean) |
外側のメソッドまたはプロパティの不変コントラクトを指定します。 |
Invariant(Boolean, String) |
外側のメソッドまたはプロパティの不変コントラクトを指定し、コントラクトの条件が失敗した場合はメッセージを表示します。 |
Invariant(Boolean)
- ソース:
- Contracts.cs
- ソース:
- Contracts.cs
- ソース:
- Contracts.cs
外側のメソッドまたはプロパティの不変コントラクトを指定します。
public:
static void Invariant(bool condition);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Invariant (bool condition);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Invariant : bool -> unit
Public Shared Sub Invariant (condition As Boolean)
パラメーター
- condition
- Boolean
テストする条件式。
- 属性
注釈
Invariant コントラクトは、 属性によって識別されるメソッド内に ContractInvariantMethodAttribute 含まれます。通常、 メソッドの名前 ObjectInvariant
は です。
このコントラクトは、クラスで宣言されている専用のインバリアント メソッドでのみ指定できます。 メソッドがシールされていない場合は、サブクラスがインバリアントを確実に維持できるように、プライベート メンバーではなく、保護されたメンバーのみを参照する必要があります。
このコントラクトはクライアントに公開されません。したがって、外側のメソッドよりも見えにくいメンバーを参照する場合があります。
このインバリアントの実行時の適用には、バイナリ リライターを使用する必要があります。
インバリアントは、シンボルの
CONTRACTS FULL
存在に基づいて条件付きで定義されます。 ランタイム チェックで各パブリック メソッドの最後にチェックされます。 インバリアントが同じクラス内のパブリック メソッドに言及した場合、そのパブリック メソッドの最後で通常発生するインバリアント チェックは無効になり、そのクラスに対する最も外側のメソッド呼び出しの最後でのみチェックされます。 別のクラスのメソッドの呼び出しのためにクラスへの再入がなされる場合も同様です。
適用対象
Invariant(Boolean, String)
- ソース:
- Contracts.cs
- ソース:
- Contracts.cs
- ソース:
- Contracts.cs
外側のメソッドまたはプロパティの不変コントラクトを指定し、コントラクトの条件が失敗した場合はメッセージを表示します。
public:
static void Invariant(bool condition, System::String ^ userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Invariant (bool condition, string userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Invariant (bool condition, string? userMessage);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Invariant : bool * string -> unit
Public Shared Sub Invariant (condition As Boolean, userMessage As String)
パラメーター
- condition
- Boolean
テストする条件式。
- userMessage
- String
条件が false
の場合に表示するメッセージ。
- 属性
注釈
Invariant コントラクトは、 属性によって識別されるメソッド内に ContractInvariantMethodAttribute 含まれます。通常、 メソッドの名前 ObjectInvariant
は です。
このコントラクトは、クラスで宣言されている専用のインバリアント メソッドでのみ指定できます。
このコントラクトはクライアントに公開されません。したがって、外側のメソッドよりも見えにくいメンバーを参照する場合があります。
このインバリアントの実行時の適用には、バイナリ リライターを使用する必要があります。
インバリアントは、シンボルに対して
CONTRACTS FULL
条件付きで定義されます。 ランタイム チェックで各パブリック メソッドの最後にチェックされます。 インバリアントが同じクラス内のパブリック メソッドに言及した場合、そのパブリック メソッドの最後で通常発生するインバリアント チェックは無効になり、そのクラスに対する最も外側のメソッド呼び出しの最後でのみチェックされます。 別のクラスのメソッドの呼び出しのためにクラスへの再入がなされる場合も同様です。
適用対象
.NET