コードが実行時にコンパイルされ、コードが文字列に含まれる C# アプリケーションを作成しています (文字列は ScintillaNET コントロールから値を取得し、テキストを返すだけで、コードを含む文字列は意図したとおりに機能します)。
私の質問は: 実行時にこのソース コードからある種のクラス オブジェクトを作成する方法はありますか? たとえば、文字列には次の値が含まれます。
namespace _Testing {
class Program {
static void Main(string[] args) {
Console.Title = "Program";
Console.WriteLine("If you can read this, it's all good!");
Console.ReadKey();
}
}
}
このコードは、実行時に CSharpCodeProvider コンパイラによってコンパイルされています (コンパイルするクラスの配列を渡しているため、CompileAssemblyFromSourceBatch を使用)。ただし、実行時にコンパイラの MainClass プロパティを設定できるようにしたいので、クラスから名前空間を取得する必要があります。
そこで、各クラスのソースコード文字列のある種のオブジェクトを作成して、目標を達成できるようにすることを考えていました。もちろん、他のアイデアも大歓迎です。