Copy Code code as follows:
/*
* Dynamic compilation of code and execution using C #
* Author: YAOB
*/
static void Main (string[] args)
{
Compiler
CodeDomProvider CDP = Codedomprovider.createprovider ("C #");
Compiler parameters
CompilerParameters cp = new CompilerParameters ();
Cp. Referencedassemblies.add ("System.dll");
Cp. GenerateExecutable = false;
Cp. GenerateInMemory = true;
Compilation results
CompilerResults CR = Cdp.compileassemblyfromsource (CP, HelloWorld ());
if (CR. Errors.haserrors) Console.WriteLine ("Compile Error!");
Else
{
Compiled assemblies
Assembly ass = cr.compiledassembly;
Get the SayHello method in the HelloWorld class
Type type = Ass. GetType ("Helloworld.helloworld");
MethodInfo mi = type. GetMethod ("SayHello");
Perform
Mi. Invoke (null, NULL);
}
}
Dynamically-built Code
static string HelloWorld ()
{
StringBuilder Sbcode = new StringBuilder ();
Sbcode.appendline ("Using System;");
Sbcode.appendline ("namespace HelloWorld");
Sbcode.appendline ("{");
Sbcode.appendline ("Class HelloWorld");
Sbcode.appendline ("{");
Sbcode.appendline ("public static void SayHello ()");
Sbcode.appendline ("{");
Sbcode.appendline ("Console.WriteLine" ("hello~ world~!\");
Sbcode.appendline ("}");
Sbcode.appendline ("}");
Sbcode.appendline ("}");
return sbcode.tostring ();
}