Castle.MonoRail.Framework.Views.Aspx.EventHandlerFactory.CreateActionDelegate C# (CSharp) Method

CreateActionDelegate() public method

public CreateActionDelegate ( Type genericEventHandlerType, System.ComponentModel.EventDescriptor eventDescriptor, BindingContext context ) : Delegate
genericEventHandlerType System.Type
eventDescriptor System.ComponentModel.EventDescriptor
context BindingContext
return System.Delegate
		public Delegate CreateActionDelegate(Type genericEventHandlerType, EventDescriptor eventDescriptor,
		                                     BindingContext context)
		{
			Type eventArgsType = EventUtil.GetEventArgsType(eventDescriptor);
			EventHandlerInfo eventHandlerInfo =
				GetEventHandlerInfo(genericEventHandlerType, eventArgsType);

			if (eventHandlerInfo != null)
			{
				object eventHandler = Activator.CreateInstance(
					eventHandlerInfo.EventHandlerType, new object[] {context});

				return Delegate.CreateDelegate(eventDescriptor.EventType, eventHandler,
				                               eventHandlerInfo.EventMethod);
			}

			return null;
		}