歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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類的使用細節  http://www.linuxidc.com/Linux/2015-01/111595.htm

C++中字符數組和字符串string  http://www.linuxidc.com/Linux/2014-11/108799.htm

擴展C++ string類  http://www.linuxidc.com/Linux/2014-08/105033.htm

Copyright © Linux教程網 All Rights Reserved