一部のクライアント コードが必要とするシグネチャを使用して、オンザフライでメソッドを作成する巧妙なトリックを学びたいと考えています。System.Delegate.BeginInvoke
、EndInvoke
およびInvoke
メソッドと同様です。
私はSystem.Delegate
これらのメソッドのクラス内を探していますが、それらを見つけることができません (ただし、DynamicInvoke
レイト バインド メソッドへの呼び出しを動的にディスパッチするため楽しくない を除いて)、明らかにこれらのメソッドは実行時に作成されます。
もし私がそのようなことを実装しなければならないとしたら、私はどうするかについて頭を悩ませています。私は大声で考えています:
1) 新しいアセンブリの構築に興味がないため、Code DOM は機能しません。同じアセンブリ内のクラスに新しいメソッドを追加したいだけです。
2) 古き良きリフレクションは問題なく動作します。MethodInfo
クライアント コードが指定するのと同じパラメーターを持つ新しいものを作成することはできますが、この新しいMethodInfo
ものをメソッドとしてクラスに表示するにはどうすればよいでしょうか?
誰でもこれに光を当てることができますか?