PropertyDescriptor.CanResetValue(Object) Method

Definition

When overridden in a derived class, returns whether resetting an object changes its value.

C#
public abstract bool CanResetValue(object component);

Parameters

component
Object

The component to test for reset capability.

Returns

true if resetting the component changes its value; otherwise, false.

Remarks

Typically, this method is implemented through reflection.

Notes to Implementers

When overridden in a derived class, this method looks for a DefaultValueAttribute. If it finds one, it compares the value of the attribute with the property's current value. It returns true when the default value does not match the property's current value. If this method cannot find a DefaultValueAttribute, it looks for a "ShouldPersistMyProperty" method that you need to implement yourself. If this is found, CanResetValue(Object) returns what "ShouldPersistMyProperty" returns. Otherwise, it looks for a "ResetMyProperty" method that you need to implement yourself. If this is found, CanResetValue(Object) returns true. If it cannot find a DefaultValueAttribute, a "ShouldPersistMyProperty" method, or a "ResetMyProperty" method, then it returns false.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

See also