1

dllにコンパイルされたThisがあるとします。

namespace HelloWorld
{
   public class Hello
   {
        public void WriteHello()
        {
             Console.Writeline("Hello World");
        }

        **public void WriteHello2()
        {
             Console.Writeline("Hello World2");
        }**
   }
}

このプログラムでは、WriteHello2メソッドを実際にテキストファイルに入れて、そこからコンパイルする必要があります。

理由

ユーザーがメソッドを作成するインターフェースを作成したい。次に、このメソッドをテキストファイルに書き込むので、プログラムが実行されるたびに、テキストファイルが読み込まれ、そのコードが実行されます。

私のdllが1つのメソッド、つまりWriteHelloのみで構成されているとします。ユーザーはプログラムを実行してから、WriteHello2という新しいメソッドを作成します(私のアプリケーションに限定されたメソッドを作成することはできません)。これで、dllに2つのメソッドが含まれるはずです。

これが可能かどうかはわかりません。

4

1 に答える 1

1

文字列からコードをコンパイルするには、メソッドを使用できますCompileAssemblyFromSource。変更を永続化する場合、つまり、プログラムにバイナリを自己変更させる場合は、事態はさらに複雑になります。それがあなたの望むものかどうかはわかりませんが、いくつかの巧妙な一時ファイルのジャグリングとプロセスの調整で実行できます。

于 2012-11-09T06:59:35.853 に答える