zoukankan      html  css  js  c++  java
  • c#动态编译并执行字符串

    比较简单,步骤是这样的

    string -> compiler -> assembly -> reflection -> execution

    直接上代码:

    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(); } }

      

  • 相关阅读:
    ORA-01078:failure in processing system parameters
    pl sql developer登陆界面找不到oracle数据库选项
    PL/SQL Developer 与tnsnames.ora
    查看oracle连接数
    windows路由命令route
    在桌面显示我电脑
    linux 挂载ISO
    scp命令
    ss sp行情
    港股交易最大手数是如何规定的?
  • 原文地址:https://www.cnblogs.com/y114113/p/6306994.html
Copyright © 2011-2022 走看看