Как мне инициировать событие из другого класса, используя EventInfo?
public class MyClass
{
public event EventHandler MyEvent;
public void Do()
{
MyEvent(this, EventArgs.Empty);
}
}
...
MyClass m = new MyClass();
m.MyEvent += new EventHandler(m_MyEvent);
EventInfo ei = m.GetType().GetEvent("MyEvent"); // Получаю EventInfo
MethodInfo mi = ei.EventHandlerType.GetMethod("Invoke"); // Получаю метод Invoke
mi.Invoke(m, new object[] { m, EventArgs.Empty }); // - вот здесь эксепшн - Object does not match target type.