次の C# コードを使用します。
namespace lib.foo {
public class A {
public A (int x) {}
public int GetNumber() { return calculateNumber(); }
private int calculateNumber() { return lib.bar.B.ProduceNumber(); }
public void irrelevantMethod() {}
}
}
namespace lib.bar {
public class B {
public static int ProduceNumber() { return something; }
public void IrrelevantMethod() {}
}
}
の機能を含むアセンブリを作成してlib.foo.A.GetNumber()
保存し、後で動的にロードして実行したいと考えています。
それが機能するためには、必要なすべての依存関係 (以下にリスト) をトレースし、それらの実装 (!) を含めて、ストレージ用の 1 つのアセンブリに出力できるプログラムが必要です。
* lib.foo.A(int)
* lib.foo.A.getNumber()
* lib.foo.A.calculateNumer()
* lib.bar.B.ProduceNumber()
それはできますか?どのように?
誰かが疑問に思っている場合に備えて、マシン A が (WCF を使用して) マシン B に何をすべきかを伝えるシステムを構築したいと考えています。デリゲートをシリアライズすることは不可能なので、私の計画は
1)機械 A から機械 B にアセンブリを移送します。
2)マシン B にアセンブリをロードします。
3)マシン A にマシン B に、この新しいアセンブリに実装されている目的のメソッドを呼び出すように指示させます。