動的にロードされたDLLからメインのexeファイルにコールバックする方法のアイデアはありますか? (NB:このDLLは、コールバックした後、ある時点でアンロードされます)動的にロードされたDLLからのコールバック
コンテキストのC#
私は、そのコアを更新することができ、後に開発中のサービスのプロトタイプを作成しています。私は "main dll"へのサービスコールを行うスタブメインを持っています。私は、最新のDLLの新しいコピーが完了した後、コアdllをリロードするように指示するために、メインのexeにコールバックできるようにしたいと考えています。私は負荷を取り除く作業をしています。しかし、コールバックや、渡されたIntPtrの更新やその他の同様のアイデアを働かせることはできません。例えば。
loader.ExecuteStaticMethod(cMain_DLL, "Class1", "My_CallBack", new object[] {out _Count });
習慣Iは、DLLをロードおよびアンロードDLLを、ならびにコール機能に若干修正http://www.c-sharpcorner.com/uploadfile/girish.nehte/how-to-unload-an-assembly-loaded-dynamically-using-reflection/を使用している
をコンパイル。
Type[] types = parameters.Select(o=>o.GetType()).ToArray();
MethodInfo MyMethod = MyType.GetMethod(methodName, types); <= can retun null for some objects
MyMethod.Invoke(inst, BindingFlags.InvokeMethod, null, parameters, null);
http://stackoverflow.com/questions/2438065/c-sharp-reflection-how-can-i-invoke-a-method-with-an-out-parameter – apocalypse