私は以下を含むdllを持っています:
public abstract class Module
{
internal int ID;
public abstract void ModuleStart();
}
public void function1() {}
public void function2() {}
//etc...
そして、上記のdllを参照する別のdllがあり、次のものがあります。
class MyModule : Module
{
public override void ModuleStart()
{
function1();
}
}
私ができるようにしたいのは、 function1 が渡されずに、呼び出しモジュールの ID の値を認識できるようにすることです。これを行う方法はありますか? 基本的に私がやろうとしているのは、メインのモジュール DLL が読み込まれ、2 番目の dll に読み込まれるメソッドが実行され、リフレクションを使用して Module の子があることを確認し、ID を割り当てて ModuleStart を実行することです。その後、MyModule は必要なことを実行し、最初の dll から関数を呼び出して内部保護メモリにアクセスできますが、関数が呼び出されるときは、それらを呼び出したモジュールの ID を知る必要があります。これは可能ですか?MyModule はその ID を認識せず、ID を変更することもできません。