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
有條件地定義。 在執行階段檢查期間,會在每個公用方法的結尾檢查非變異值。 如果非變異在相同類別中提及公用方法,則會停用該公用方法結尾通常會發生的非變異檢查,並且只在最外層方法呼叫該類別的結尾檢查。 如果因為呼叫另一個類別上的方法而重新輸入此類別,也會進行這項檢查。