SettingsPropertyValue.PropertyValue 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定 SettingsProperty 物件的值。
public:
property System::Object ^ PropertyValue { System::Object ^ get(); void set(System::Object ^ value); };
public object PropertyValue { get; set; }
member this.PropertyValue : obj with get, set
Public Property PropertyValue As Object
屬性值
SettingsProperty 物件的值。 當設定這個值後,IsDirty 屬性會設定為 true
且 UsingDefaultValue 會設定為 false
。
從 PropertyValue 屬性初次存取值,且最初使用 SettingsPropertyValue 屬性將該值以序列化的表示方式儲存在 SerializedValue 物件中時,PropertyValue 屬性將會觸發基礎值的還原序列化。 Deserialized 屬性將會設定為 true
,這是負面的影響。
如果這個事件鏈結發生在 ASP.NET 中,且在還原序列化處理序期間發生了錯誤,則會使用 ASP.NET 的健康監視功能來記錄錯誤。 根據預設,這就表示在 ASP.NET 之下執行時,還原序列化錯誤將會顯示在應用程式事件記錄檔中。 如果此處理序發生在 ASP.NET 之外,且在還原序列化期間發生了錯誤,則會隱藏此錯誤,且會發生還原序列化期間的其餘邏輯部分。 如果在嘗試進行還原序列化時,沒有任何要進行還原序列化的序列化值,則會改由 SettingsPropertyValue 物件嘗試去傳回預設值 (前提是已經如關聯之 SettingsProperty 執行個體上所定義的格式來設定)。 此時,如果 DefaultValue 屬性設定為 null
或是字串 "[null]",則 SettingsPropertyValue 物件會針對參考型別將 PropertyValue 屬性初始化成 null
,或是針對關聯值型別初始化成預設值。 另一方面,如果 DefaultValue 屬性保存有效的物件參考或字串值 ("[null]" 除外),則會改為傳回 DefaultValue 屬性。
如果在嘗試進行還原序列化時沒有任何要還原序列化的序列化值,且未指定預設值,則會針對字串型別傳回空字串。 對於所有其他類型,默認實例會藉由呼叫 CreateInstance(Type) 傳回 - 對於參考型別,這表示會嘗試使用無參數建構函式建立物件實例。 如果這樣的嘗試動作失敗,則會傳回 null
。
例外狀況
在嘗試使用 DefaultValue 屬性的預設值時,會發生錯誤。 嘗試將 DefaultValue 屬性轉換成有效型別的動作失敗,或是產生的值與 PropertyType 定義的型別不相容。