
課程咨詢: 400-996-5531 / 投訴建議: 400-111-8989
認真做教育 專心促就業(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();
}
利用委托,可以把一個方法做為另一個方法的參數(shù),直接執(zhí)行參數(shù)就OK了。和javascript的函數(shù)有點相似,javascript里面的函數(shù)也可以做為另一個函數(shù)的參數(shù)。javascript中直接可以用函數(shù)名做參數(shù),而c#中必須通過委托,轉個彎,實現(xiàn)同樣的功能!
【免責聲明】本文部分系轉載,轉載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請在30日內與聯(lián)系我們,我們會予以更改或刪除相關文章,以保證您的權益!