私は別のクラスにあるかのようにメソッドをコンパイルできる何かを探していますので、手動で変更することなく内部フィールドと型を使うメソッドを注入できますオペランドの値。メソッドを別のクラスの一部であるかのようにコンパイルします
例えば私たちは、デバッグのための値を取得する必要がある場合:
class bla{
internal string importantValue;
...
public void onInitialize(){
...
//this is where the compiler should be made to think it is
}
}
とコンパイラ
public void onInitialize(){ //code to be compiled as if it were in that method
File.WriteAllText("usefulString.txt",importantValue.toString());
}
に入り、その後、私たちはコンパイル出力のILを得ることができ、コードとbla.onInitializeに挿入して、値を取得できるようにします。
'partial'クラスにオプションを使用していますか? – Benj
あなたは、任意のビットをどのように取って、そのアセンブリ内のクラスのメンバーとして別々のプリコンパイルされたアセンブリに挿入するかを尋ねていますか? – Abion47
@ eim64私はあなたが必要とするものを正確に理解していません。あなたはそれを説明しようとすることはできますか?はいの場合、私はあなたを助けることができると確信しています。あなたは 'class'の内部メンバーを読むことができるメソッドを生成する必要がありますか? –