道歉有一个错字...已编辑...
我有一个奇怪的问题,我不确定。
在一段代码中,我有一个称为单例的类,它有一个其他类可以监听的事件,通过执行类似的操作非常简单
Client.Instance.MyEvent += new EventHandler<EventArgs>(myHandler);
所以如果我有一个通用类:
Class MyTest {
public MyTest() {
System.Console.WriteLine("In Constructor Registering Events");
Client.Instance.MyEvent += new EventHandler<EventArgs>(myHandler);
}
private void myHandler(object sender, EventArgs arg) {
System.Console.WriteLine("Got event!");
}
}
现在,如果我创建这样的类:
MyTest mC = new MyTest ();
Client.Instance.FireEvent();
我得到了预期的“在构造函数中注册事件”和“得到事件”
但是,如果我通过反射创建类,我不会。
Type mType = typeof(MyTest);
object mT = Activator.CreateInstance(mType);
Client.Instance.FireEvent();
我得到的只是“在构造函数中注册事件”,但我没有收到事件触发消息。这里发生了什么?我在反射调用中做错了什么吗?
谢谢 -