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;
}