// compileinvoke.cs using System; using Microsoft.CSharp; using System.CodeDom.Compiler; using System.Reflection; public class CompileInvoke { static string cs = @" public class CSHello { public static void Main() { System.Console.WriteLine(""Hello C# World!""); } }"; public static void Main() { CSharpCodeProvider cscp = new CSharpCodeProvider(); ICodeCompiler cc = cscp.CreateCompiler(); CompilerParameters param = new CompilerParameters(); param.GenerateInMemory = true; CompilerResults cr = cc.CompileAssemblyFromSource(param, cs); Assembly asm = cr.CompiledAssembly; Type type = asm.GetType("CSHello"); MethodInfo mi = type.GetMethod("Main"); mi.Invoke(null, null); // 出力:Hello C# World!" } } // コンパイル方法:csc compileinvoke.cs