Edit

Share via


PropertyDescriptor.ShouldSerializeValue(Object) Method

Definition

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.

Applies to

See also