Re: Как мне инициировать событие через EventInfo
От: Spiceman  
Дата: 24.07.08 14:19
Оценка:
Здравствуйте, WareZzhKa, Вы писали:

WZK>MyClass m = new MyClass();

WZK>m.MyEvent += new EventHandler(m_MyEvent);
WZK>EventInfo ei = m.GetType().GetEvent("MyEvent"); // Получаю EventInfo
WZK>MethodInfo mi = ei.EventHandlerType.GetMethod("Invoke"); // Получаю метод Invoke
WZK>mi.Invoke(m, new object[] { m, EventArgs.Empty }); // — вот здесь эксепшн — Object does not match target type.
WZK>[/c#]

EventHandlerType — тип делегата, ассоциированного с событием.
MethodInfo mi — описание метода Invoke этого делегата.
mi.Invoke ожидает первым параметром экземпляр этого делегата. А вы передаете экземпляр класса MyClass.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.