即使是反射也很麻烦,并且效率极差!
请记住C#是编译执行的,绝对没有什么eval方法。

解决方案 »

  1.   

    这是不行的,除非你将自己定义的对象指向这个TextBox(aaa)
      

  2.   

    TextBox(aaa)行吗?
    我用((TextBox)"aaa").Text是出错的..
      

  3.   

    完全可以
    http://blog.csdn.net/alias88/archive/2004/09/22/113058.aspx
      

  4.   

    简单一点大概这样吧
    frmXX.GetType().GetField("txtBox1").GetType().GetProptiety("Text").SetValue("aaa")
    反射(reflect)的执行效率是差一点,但还不致于动态编译(Dcom)那么差
    但所带来的灵活是绝对超值的
      

  5.   

    alias88() 正解。不过看看代码也知道有多复杂了,如果要实现eval类似的功能,还必须自己写一个编译器来分析字符串。关键是要改变思想,尽管C#提供了反射,但如果不是没别的办法(例如在捕获异常后追寻异常发出的函数进行记录),还是不建议使用。况且,如果你想加密混淆代码。反射就