舉例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | delegate void DemoDelegate( string message); class Demo { void DemoDelegateMethod( string message) { System.Console.Write(message); } static void Main() { Demo d = new Demo(); // 具名方法 DemoDelegate d1 = d.DemoDelegateMethod; // 匿名方法 DemoDelegate d2 = delegate ( string message) { System.Console.WriteLine( " " + message); }; d1( "There" ); d2( "is no spoon." ); } } /* 《程式語言教學誌》的範例程式 檔名:class29.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2013 年 6 月 */ |
使用委派須先宣告方法的參數列及回傳值型態的方法名稱,注意這必須跟所要指派的方法相同
1 | delegate void DemoDelegate( string message); |
具名方法就是直接將自訂類別中的方法指派給委派型態的變數
11 12 | // 具名方法 DemoDelegate d1 = d.DemoDelegateMethod; |
匿名方法使用 delegate 自訂方法內容
14 15 16 17 | // 匿名方法 DemoDelegate d2 = delegate ( string message) { System.Console.WriteLine( " " + message); }; |
編譯執行,結果如下

中英文術語對照 | |
---|---|
類別 | class |
方法 | method |
型態 | type |
關鍵字 | keyword |
您可以繼續參考
類別
相關目錄
回 C# 快速導覽
回 C# 教材
回首頁
參考資料
Standard ECMA-334 C# Language Specification
msdn: delegate (C# 參考)
沒有留言:
張貼留言