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