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 定义的类型不兼容。