匿名方法

1.概念

匿名方法:提供了一種傳遞代碼作為委托參數(shù)的技術。匿名方法是沒有名稱只有主體的方法。

在匿名方法中您不需要指定返回類型,它是從方法主體內(nèi)的retrun語句推斷。

2.編寫匿名方法的語法

匿名方法是通過使用delegate關鍵字創(chuàng)建委托實例來聲明的。例如:

delegate void NumberChanger(int n);

NumberChanger nc = delegate(int x)

{

? ?? Console.WriteLine("Anonymous Method: {0}", x);

}

3.總結

委托可以通過匿名方法調(diào)用,也可以通過命名方法調(diào)用,即,通過向委托對象傳遞方法參數(shù)。請看如下完整例子:

using?System;

delegate?void?NumberChanger(int?n);

namespace?DelegateAppl

{

?class?TestDelegate

?{

?static?int?num?=?10;

?public?static?void?AddNum(int?p)

?{

num?+=?p;

? ? ? ? ? ? Console.WriteLine("Named Method: {0}", num);

?}

?public?static?void?MultNum(int?q)

?{

num?*=?q;

? ? ? ? ? ? Console.WriteLine("Named Method: {0}", num);

?}

?static?void?Main(string[]?args)

?{

?// 使用匿名方法創(chuàng)建委托實例

NumberChanger nc?=?delegate(int?x)

?{

? ? ? ? ? ? ? ?Console.WriteLine("Anonymous Method: {0}", x);

?};


?// 使用匿名方法調(diào)用委托

? ? ? ? ? ? nc(10);

?// 使用命名方法實例化委托

nc?=?new?NumberChanger(AddNum);


?// 使用命名方法調(diào)用委托

? ? ? ? ? ? nc(5);

?// 使用另一個命名方法實例化委托

nc?=?new?NumberChanger(MultNum);


?// 使用命名方法調(diào)用委托

? ? ? ? ? ? nc(2);

? ? ? ? ? ? Console.ReadKey();

?}

?}

}

以上摘自菜鳥教程

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容