比如:
有一个函数:test(int n)
有一个字符串变量:cCommand="test(10)"
我想通过cCommand执行函数test(10),有没有办法啊?!

解决方案 »

  1.   

    去学Python吧,C#好象不具备这种动态特性
      

  2.   

    .net可以的
    一是用反射,查System.Reflection
    一是动态编译,查System.CodeDom, System.CodeDom.Compiler;
      

  3.   

    //设你有一个myTestClass 类,其中有test(int n)方法,以下代码执行这个方法myTestClass obj= new myTestClass ();
    BindingFlags flags=BindingFlags.Public | BindingFlags.NonPublic |BindingFlags.IgnoreCase |BindingFlags.Instance | BindingFlags.Static |BindingFlags.InvokeMethod ;Type t=obj.GetType();
    object result = t.InvokeMember("test",flags,Type.DefaultBinder , obj, new object[]{10});
      

  4.   

    用Microsoft Script Control来执行你的代码
      

  5.   

    可以的,好好学习一下这个空间
    System.CodeDom
      

  6.   

    其实我的目的是这样:--用于动态生成程序主菜单
    菜单项存放于一个数据表中,其中包括名称、父亲、点击该菜单项要执行的命令,
    这个命令就是用字符串的形式存放的,程序运行时需要执行这些命令,
    如果有类似VFP中的&宏替换命令就好了!
      

  7.   

    用FORCAL试试吧。
    通用字符串表达式编译运行库FORCAL V6.0 Beta
    http://www3.skycn.com/soft/23045.html
    http://www2.skycn.com/soft/23045.html
    http://www1.skycn.com/soft/23045.html
      

  8.   

    其实我的目的是这样:--用于动态生成程序主菜单
    菜单项存放于一个数据表中,其中包括名称、父亲、点击该菜单项要执行的命令,
    这个命令就是用字符串的形式存放的,程序运行时需要执行这些命令,
    如果有类似VFP中的&宏替换命令就好了!
    //
    你这样设计,那还不如写个大的函数,根据命令字符串调用相应的函数好了