zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    SQL中的数字格式化 (收藏)
    read about用法
    run into用法
    shoot for用法
    take off用法
    英语成语
    bring up用法
    satisfy with用法
    spend用法
    Linux环境进程间通信:共享内存
  • 原文地址:https://www.cnblogs.com/wangbaohui/p/7122027.html
Copyright © 2011-2022 走看看