C#, C♯, C#相談室 Part55at TECH
C#, C♯, C#相談室 Part55 - 暇つぶし2ch148:デフォルトの名無しさん
09/12/20 15:09:35
>>141,142
デリゲートもDLLで定義されている場合はもう少しめんどくさくなる。
-- test1a.cs
 :
public delegate void FooHandler(object sender, EventArgs e);
public class Foo {
 :
-- test1.cs
  Type fooType = asm.GetType("Foo");
  Type fooHandlerType = asm.GetType("FooHandler");
  object foo = Activator.CreateInstance(fooType);
  Delegate fooHandler = Delegate.CreateDelegate(fooHandlerType, typeof(Program), "MyHandler");
  EventInfo einfo = fooType.GetEvent("Do");
  MethodInfo minfo = fooType.GetMethod("Fire");
  einfo.AddEventHandler(foo, fooHandler);
  minfo.Invoke(foo, null);

MyHandlerがインスタンスメソッドの場合はthisが必要になる。
Delegate fooHandler = Delegate.CreateDelegate(fooHandlerType, typeof(Program), this, "MyHandler");



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch