PropertyAccessMode 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將這個列舉中的值傳遞至 UsePropertyAccessMode(PropertyAccessMode) 、 UsePropertyAccessMode(PropertyAccessMode) 或 ,或 UsePropertyAccessMode(PropertyAccessMode) 變更讀取和寫入至屬性或欄位時,是否將使用屬性或支援欄位的值。
如果未設定存取模式,則在建構實體的新實例時,將會使用屬性的支援欄位。 如果可能的話,屬性 getter 或 setter 將會用於屬性的所有其他存取。 請注意,當無法使用 欄位時,因為慣例找不到欄位,而且未使用 HasField(String) 指定 ,則會改用 屬性。 同樣地,當無法使用屬性 getter 或 setter 時,例如當屬性是唯讀時,則會改用欄位。
public enum PropertyAccessMode
type PropertyAccessMode =
Public Enum PropertyAccessMode
- 繼承
-
PropertyAccessMode
欄位
Field | 0 | 強制執行屬性的所有存取都必須通過 欄位。 如果已設定此模式,而且無法讀取或寫入欄位,將會擲回例外狀況。 |
FieldDuringConstruction | 1 | 強制在建構新實例時,所有對 屬性的存取都必須經過 欄位。 從資料庫查詢實體時,通常會建構新的實例。 如果已設定此模式,而且無法寫入欄位,將會擲回例外狀況。 屬性的所有其他用法都會通過屬性 getter 和 setter,除非不可能這樣做,例如屬性是唯讀的,在此情況下,這些存取也會使用 欄位。 如果尚未設定任何存取模式,此存取模式類似于預設模式,除非無法寫入欄位以進行實體建構,則會擲回例外狀況。 預設存取模式會改用 屬性。 |
Property | 2 | 強制執行屬性的所有存取都必須經過屬性 getter 和 setter,即使正在建構新的物件也一定。 如果已設定此模式,而且無法讀取或寫入屬性,例如,因為它是唯讀的,所以會擲回例外狀況。 |