歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> String同名的方法函數

String同名的方法函數

日期:2017/3/1 9:30:55   编辑:Linux編程

要將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