private static bool IsCompatibleEvent(EventDescriptor eventDescriptor,
Type eventArgsType)
{
if (eventDescriptor == null ||
!typeof(EventArgs).IsAssignableFrom(eventArgsType))
{
return false;
}
if (eventDescriptor.ComponentType == typeof(Control) ||
eventDescriptor.ComponentType == typeof(WebControl) ||
eventDescriptor.ComponentType == typeof(TemplateControl))
{
return false;
}
Type actualEventArgsType = GetEventArgsType(eventDescriptor);
return (actualEventArgsType != null && eventArgsType.IsAssignableFrom(actualEventArgsType));
}