アセンブリを次のように動的にロードします。
var assembly = Assembly.LoadFile("PathOFMyDll");
とにかく、アセンブリにはFilter
クラス内に静的メソッドがありますDynamicClass
。したがって、そのアセンブリを取得したら、そのメソッドを次のように実行します。
var filter = assembly.GetType("DyamicClass").GetMethod("Filter");
// that method accepts a object as parameter
filter.Invoke(null, new object[] { "test" });
今私の質問は:
delegate bool FilterDelegate(object item);
そのタイプのデリゲートをそのメソッドにポイントさせることができない理由をデリゲートに持っています。
FilterDelegate myPointerToMethodFilter = (FilterDelegate)assembly.GetType("DyamicClass").GetMethod("Filter");
bool result = myPointerToMethodFilter("test");
コンパイラは、コンパイルしようとしたときにのみ文句を言うことに注意してください。構文エラーは発生しません。