码迷,mamicode.com
首页 > 其他好文 > 详细

运行时动态将字符串编译为C#可执行代码

时间:2014-09-18 18:28:34      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:blog   ar   for   div   代码   log   on   c   line   

private void button1_Click(object sender, EventArgs e)
        {
            CSharpCodeProvider CSharp = new CSharpCodeProvider();

            String[] dll = { "System.dll", "System.Windows.Forms.dll" };

            CompilerParameters 编译参数 = new CompilerParameters(dll);

            编译参数.GenerateExecutable = false;

            编译参数.GenerateInMemory = true;

            string 代码串 = this.textBox1.Text;

            CompilerResults 结果 = CSharp.CompileAssemblyFromSource(编译参数, 代

码串);

            Assembly 程序集 = 结果.CompiledAssembly;

            object 动态对象 = 程序集.CreateInstance("wxd");

            MethodInfo 方法 = 动态对象.GetType().GetMethod("setText");

            object[] 参数 = { this.button1 };

            object s = 方法.Invoke(动态对象, 参数);

            System.Console.WriteLine(s);

        }

  

运行时动态将字符串编译为C#可执行代码

标签:blog   ar   for   div   代码   log   on   c   line   

原文地址:http://www.cnblogs.com/marslin/p/3979480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!