internal bool ExtenderCanResetValue(IExtenderProvider provider, object component)
{
if (DefaultValue != s_noValue)
{
return !object.Equals(ExtenderGetValue(provider, component), _defaultValue);
}
MethodInfo reset = ResetMethodValue;
if (reset != null)
{
MethodInfo shouldSerialize = ShouldSerializeMethodValue;
if (shouldSerialize != null)
{
try
{
provider = (IExtenderProvider)GetInvocationTarget(_componentClass, provider);
return (bool)shouldSerialize.Invoke(provider, new object[] { component });
}
catch { }
}
return true;
}
return false;
}