For investors
股價(jià):
5.36 美元 %For investors
股價(jià):
5.36 美元 %認(rèn)真做教育 專心促就業(yè)
想到利用委托(delegate)好像也能解決這種避免大量switch case的代碼。代碼如下:
static void Main(string[] args)
{
Console.WriteLine(Exec(GetSet));
Console.ReadKey();
}
//定義委托,用于將方法做為參數(shù)傳給Exec.
public delegate string GetResultDelegate();
public static string Get()
{
return "get";
}
public static string GetTest()
{
return "gettest";
}
public static string GetSet()
{
return "getSet";
}
public static string Exec(GetResultDelegate getResult)
{
return getResult();
}
利用委托,可以把一個(gè)方法做為另一個(gè)方法的參數(shù),直接執(zhí)行參數(shù)就OK了。和javascript的函數(shù)有點(diǎn)相似,javascript里面的函數(shù)也可以做為另一個(gè)函數(shù)的參數(shù)。javascript中直接可以用函數(shù)名做參數(shù),而c#中必須通過委托,轉(zhuǎn)個(gè)彎,實(shí)現(xiàn)同樣的功能!
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請?jiān)?0日內(nèi)與聯(lián)系我們,我們會(huì)予以更改或刪除相關(guān)文章,以保證您的權(quán)益!