Share via

PropertyDescriptor.ShouldSerializeValue(Object) Method


When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted.

 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



The component with the property to be examined for persistence.


true if the property should be persisted; otherwise, false.


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.

Applies to

See also