PropertyDescriptor.ShouldSerializeValue(Object) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted.
public:
abstract bool ShouldSerializeValue(System::Object ^ component);
public abstract bool ShouldSerializeValue (object component);
abstract member ShouldSerializeValue : obj -> bool
Public MustOverride Function ShouldSerializeValue (component As Object) As Boolean
Parameters
- component
- Object
The component with the property to be examined for persistence.
Returns
true
if the property should be persisted; otherwise, false
.
Remarks
Typically, this method is implemented through reflection.
Notes to Implementers
When overridden in a derived class, this method returns true
if the current value of the property is different from its default value. It looks for a default value by first looking for a DefaultValueAttribute. If the method finds this attribute, it compares the value of the attribute with the property's current value. If this method cannot find a DefaultValueAttribute, it looks for a "ShouldSerializeMyProperty" method that you need to implement. If it is found, ShouldSerializeValue(Object) invokes it. If this method cannot find a DefaultValueAttribute or a "ShouldSerializeMyProperty" method, it cannot create optimizations and it returns true
.
Note: The ComponentDesigner class implements special serialization logic for inherited components. For more information, see ComponentDesigner.