none
如何执行TextBox中的.NET代码 RRS feed

  • 问题

  • 您好,现有一问题正待解决,详细内容如下:

    窗体:Form1
    按钮:Button1
    文本框:TextBox1

    文本框内容如下:
    Me.Text="动态的标题"
    My.Computer.FileSystem.WriteAllText("C:\123.txt",False)

    需要实现的目的:
    点击Button1时,执行TextBox1.Text

    然而,TextBox1.Text是在运行后手动输入的,请问是否有办法,使得能够在运行时执行手动输入的代码呢?
    非常感谢您关注我的问题.
    虽然不是专业,努力学.
    2009年8月27日 20:09

答案

全部回复

  • 你好!
         主要看你要执行的是什么样的代码了!
         1,可以动态的构造程序集,把输入的代码自己解析成IL代码,然后用IL代码来构造方法,然后使用反射来调用方法!(如果你要执行的是.NET代码的话)
         2,也可以把输入的代码保存成批处理文件,然后执行批处理文件!
         3,如果是其他代码,就需要自己写编译器程序来解析了
    周雪峰
    2009年8月28日 1:16
    版主
  • 非常感谢您的回复.
    在文本框内是VB.NET代码.
    请问如何动态构造程序集,如何解析并执行呢?
    虽然不是专业,努力学.
    2009年8月28日 4:04
  • 非常感谢您的回复.
    在文本框内是VB.NET代码.
    请问如何动态构造程序集,如何解析并执行呢?
    虽然不是专业,努力学.

    您好,请参考:http://msdn.microsoft.com/zh-cn/library/system.reflection.emit.dynamicmethod.aspx
    • 已标记为答案 DYLIKE 2009年8月28日 9:16
    2009年8月28日 5:19
  • 你好!
         实现这个功能比较复杂,一个帖子很难说清楚,你能否告诉我你具体要执行的是任意的代码,还是有限的几种指令?
    周雪峰
    2009年8月28日 7:32
    版主
  • 非常感谢.虽然一时无法完全理解其中的内容.但我已经了解了这种方法.非常感谢您.
    虽然不是专业,努力学.
    2009年8月28日 9:16