お詫びに誤字脱字ありました...編集しました...
よくわからない奇妙な問題があります。
あるコードでは、他のクラスがリッスンできるイベントを持つシングルトンとして呼び出されるクラスがあり、次のようなことを行うことで非常に簡単です
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();
期待される「In Constructor Registering Events」と「Got Event」を取得します
ただし、リフレクションを使用してクラスを作成する場合は作成しません。
Type mType = typeof(MyTest);
object mT = Activator.CreateInstance(mType);
Client.Instance.FireEvent();
「In Constructor Registering Events」だけが表示されますが、イベント起動メッセージは表示されません。何が起きてる?リフレクション呼び出しで何か間違ったことをしていますか?
ありがとう -