PropertyAccessMode 列舉

定義

將這個列舉中的值傳遞至 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,即使正在建構新的物件也一定。

如果已設定此模式,而且無法讀取或寫入屬性,例如,因為它是唯讀的,所以會擲回例外狀況。

適用於