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类 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/265a2a76a8485352a91176ddf65232bb.html