7

アセンブリまたはモジュール/クラスの動的コピーを作成することはできますか? AssemblyBuilder/を使用して最初から動的アセンブリまたはモジュールを作成する方法を簡単に見つけることができました(ここでModuleBuilder見られるように) が、既存のアセンブリまたは型のコピーをそれぞれのビルダー型として作成する方法はありますか?

編集 1

たとえば、必須ProgramのクラスとMainメソッドを備えた標準のコンソール アプリケーションがあり、「A」という名前の別のクラスをプロジェクトに追加するとします。私の目標は、またはそのようなものを使用して、メソッドA内でクラスの動的コピーを作成することです。MainModuleBuilder

編集 2

class のコピーを作成したい理由はA、メソッド、フィールド、プロパティなどを含むが、動的に作成されたclass の正確な複製が必要だからです。A私が望んでいないのは、TypeBuilder/CodeDom を使用して型とそのすべてのメンバー (メソッド、フィールド、プロパティなど) を手動で作成する必要があることです。クラスとその内部動作またはクラスは、この方法を使用して再現するのが大きくて面倒/不可能な場合があります。

うまくいけば、いくつかの疑似コードで私が探しているものを説明できます:

// create AssemblyBuilder using the assembly of the A class so you end up with a
// dynamic copy of the assembly
AssemblyBuilder ab = new AssemblyBuilder(Assembly.GetAssembly(typeof(A)));

// get the Type as a TypeBuilder from the AssemblyBuilder
TypeBuilder tb = ab.GetModule("Test.exe").GetType(typeof(A).FullName);

私は基本的にAssembly、 をAssemblyBuilderまたはTypeとしてボックス化したいだけTypeBuilderです。また、アセンブリを保存できる必要もありません。

4

1 に答える 1