zoukankan      html  css  js  c++  java
  • C#中动态执行C#脚本

    using Microsoft.CSharp;

    using System.CodeDom.Compiler;

    using System.Reflection;

     

    private void button1_Click(object sender, EventArgs e)

    {

        ICodeCompiler vCodeCompiler = new CSharpCodeProvider().CreateCompiler();

        CompilerParameters vCompilerParameters = new CompilerParameters();

        vCompilerParameters.GenerateExecutable = false;

        vCompilerParameters.GenerateInMemory = true;

        string vSource =

            "public class Temp"n" +

            "{"n" +

              public double Test(double A, double B)"n" +

              {"n" +

                  return A / B;"n" +

              }"n" +

            "}"n";

        CompilerResults vCompilerResults =

            vCodeCompiler.CompileAssemblyFromSource(vCompilerParameters, vSource);

        Assembly vAssembly = vCompilerResults.CompiledAssembly;

        object vTemp = vAssembly.CreateInstance("Temp");

        MethodInfo vTest = vTemp.GetType().GetMethod("Test");

        for (int i = 1; i < 100; i++)

        {

            object[] vParams = { 1, i };

            object vDouble = vTest.Invoke(vTemp, vParams);

            textBox1.AppendText(vDouble.ToString() + ""r"n");

        }

    }

     

  • 相关阅读:
    使用RazorGenerator对视图View进行单元测试
    C#常用获取本周、本月、本季度、本年的时间起止段代码
    Redis使用记录
    Git和ConEmu
    mongodb单索引的升序和降序
    AES 加密解密 php c#
    redis 外网连接错误
    .net mvc 分页
    检查Windows上安装的.net版本
    sqlserver跨服务器查询
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/1262068.html
Copyright © 2011-2022 走看看