舉例如下
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.");
}
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:class29.cs
功能:示範 C# 程式
作者:張凱慶
時間:西元 2013 年 6 月 */使用委派須先宣告方法的參數列及回傳值型態的方法名稱,注意這必須跟所要指派的方法相同
delegate void DemoDelegate(string message);
具名方法就是直接將自訂類別中的方法指派給委派型態的變數
// 具名方法 DemoDelegate d1 = d.DemoDelegateMethod;
匿名方法使用 delegate 自訂方法內容
// 匿名方法
DemoDelegate d2 = delegate(string message) {
System.Console.WriteLine(" " + message);
};編譯執行,結果如下

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