internal bool ExtenderShouldSerializeValue(IExtenderProvider provider, object component)
{
provider = (IExtenderProvider)GetInvocationTarget(_componentClass, provider);
if (IsReadOnly)
{
if (ShouldSerializeMethodValue != null)
{
try
{
return (bool)ShouldSerializeMethodValue.Invoke(provider, new object[] { component });
}
catch { }
}
return Attributes.Contains(DesignerSerializationVisibilityAttribute.Content);
}
else if (DefaultValue == s_noValue)
{
if (ShouldSerializeMethodValue != null)
{
try
{
return (bool)ShouldSerializeMethodValue.Invoke(provider, new object[] { component });
}
catch { }
}
return true;
}
return !object.Equals(DefaultValue, ExtenderGetValue(provider, component));
}