SettingsPropertyValue.PropertyValue 属性

定义

获取或设置 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 定义的类型不兼容。

适用于