String同名的方法函数


要将string转化为同名的方法函数,可以用下面的例子同样的方法来实现:

实例:

string strClass = "stringConvertClass.test";  //命名空间+类名

 string strMethod = "Method";//方法名

 Type t;

 object obj;

 t = Type.GetType(strClass);//通过string类型的strClass获得同名类“t”

 System.Reflection.MethodInfo method = t.GetMethod(strMethod);//通过string类型的strMethod获得同名的方法“method”

 obj = System.Activator.CreateInstance(t);//创建t类的实例 "obj"

 method.Invoke(obj,null);//t类实例obj,调用方法"method"

 //上面的方法是无参的,下面是有参的情况.

 object[] objs = new object[]{testcase};

 method.Invoke(obj,objs );//t类实例obj,调用方法"method(testcase)"

这个方法基本是可行的,但是对于form下面的函数通常不能用类,只有一个方法名称,用上面的方法就比较麻烦了,揣摩了很久,有下面这个方法:

switch (methodName)
            {
          //括号中为参数
                case "GetTargetInfo":
                    GetTargetInfo(Convert.ToString(e.value).Split('\"')[1].Split('\"')[0]);
                    break;
                case "GetPathInfo":
                    GetPathInfo(Convert.ToString(e.value).Split('\"')[1].Split('\"')[0]);
                    break;
                case "GetAllInfo":
                    GetAllInfo(Convert.ToString(e.value).Split('\"')[1].Split('\"')[0]);
                    break;
            }

Java之String类的使用细节 

C++中字符数组和字符串string 

扩展C++ string类 

本文永久更新链接地址

相关内容