This documentation is archived and is not being maintained.

PropertyDescriptor.ShouldSerializeValue Method

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

[Visual Basic]
Public MustOverride Function ShouldSerializeValue( _
   ByVal component As Object _
) As Boolean
public abstract bool ShouldSerializeValue(
 object component
public: virtual bool ShouldSerializeValue(
 Object* component
) = 0;
public abstract function ShouldSerializeValue(
   component : Object
) : Boolean;


The component with the property to be examined for persistence.

Return Value

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


Typically, this method is implemented through reflection.

Notes to Inheritors:  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 invokes it. If this method cannot find a DefaultValueAttribute or a "ShouldSerializeMyProperty" method, it cannot create optimizations and it returns true.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

PropertyDescriptor Class | PropertyDescriptor Members | System.ComponentModel Namespace