C#如何动态编译并执行字符串

这篇文章将为大家详细讲解有关C#如何动态编译并执行字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体内容如下

using System;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
 
class Program
{
  public static void Main()
  {
    // The C# code to execute
    string code = "using System; " +
           "using System.IO; " +
           "public class MyClass{ " +
           "  public static void PrintConsole(string message){ " +
           "    Console.WriteLine(message); " +
           "  } " +
           "} ";
 
    // Compiler and CompilerParameters
    CSharpCodeProvider codeProvider = new CSharpCodeProvider();
    CompilerParameters compParameters = new CompilerParameters();
 
    // Compile the code
    CompilerResults res = codeProvider.CompileAssemblyFromSource(compParameters, code);
 
    // Create a new instance of the class 'MyClass'    // 有命名空间的,需要命名空间.类名
    object myClass = res.CompiledAssembly.CreateInstance("MyClass");
 
    // Call the method 'PrintConsole' with the parameter 'Hello World'
    // "Hello World" will be written in console
    myClass.GetType().GetMethod("PrintConsole").Invoke(myClass, new object[] {"Hello World" });
 
    Console.Read();
  }
}

关于“C#如何动态编译并执行字符串”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。