public static bool IsDefined(MemberInfo element, Type attributeType, bool inherit)
{
if (element == (MemberInfo)null)
{
throw new ArgumentNullException("element");
}
if (attributeType == (Type)null)
{
throw new ArgumentNullException("attributeType");
}
if (!attributeType.IsSubclassOf(typeof(Attribute)) && attributeType != typeof(Attribute))
{
throw new ArgumentException(Environment.GetResourceString("Argument_MustHaveAttributeBaseClass"));
}
switch (element.MemberType)
{
case MemberTypes.Event:
return(Attribute.InternalIsDefined((EventInfo)element, attributeType, inherit));
case MemberTypes.Property:
return(Attribute.InternalIsDefined((PropertyInfo)element, attributeType, inherit));
default:
return(element.IsDefined(attributeType, inherit));
}
}