private EventHandlerInfo GetEventHandlerInfo(Type genericEventHandlerType, Type eventArgType)
{
EventHandlerInfo eventHandlerInfo;
if (EventHandlerCache.ContainsKey(eventArgType))
{
eventHandlerInfo = EventHandlerCache[eventArgType];
}
else
{
eventHandlerInfo = new EventHandlerInfo();
eventHandlerInfo.EventHandlerType
= genericEventHandlerType.MakeGenericType(new Type[] {eventArgType});
eventHandlerInfo.EventMethod = eventHandlerInfo.EventHandlerType.GetMethod("HandleEvent");
EventHandlerCache.Add(eventArgType, eventHandlerInfo);
}
return eventHandlerInfo;
}
}