1

実行時に動的に生成された C# コードがあり、 を使用System.CodeDom.CodeCompileUnitしてコンパイルします。Microsoft.CSharp.CSharpCodeProvider既に定義され初期化された変数 (ArrayList) をこの文字列に挿入して、コンパイル前に使用できるようにしたいのですが、どうすればよいですか?

4

1 に答える 1

2

この変数を作成し、持っている値で埋めるコードを生成する必要があります。または、生成したメソッドの 1 つに引数を追加して、実行時に渡すこともできます。あなたのためにそれを行う魔法の方法はありません。

CodeDom は不完全で、時代遅れで、時代遅れです。最近では、T4 (コードをテキストとして使用する場合) または式と IL (動的に生成されたコードを実行する場合) を使用する必要があります。Exessions を使用する場合、変数の挿入は簡単です。T4 では、数行のコードで済みますが、手動で行う必要もあります。

于 2015-05-23T05:24:49.410 に答える