Castle.MonoRail.Framework.Views.Aspx.EventUtil.IsCompatibleEvent C# (CSharp) Method

IsCompatibleEvent() private static method

private static IsCompatibleEvent ( System.ComponentModel.EventDescriptor eventDescriptor, Type eventArgsType ) : bool
eventDescriptor System.ComponentModel.EventDescriptor
eventArgsType System.Type
return bool
		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));
		}