申明一个委托的语法如下:
delegate returnType DeleteName(dataType datename);
dalegate:是委托的关键字 和申明类用Class一样,必选。
returnType :表示委托的返回类型,必选。
DeleteName:表示委托名,必选。
dataType:表示参数的数据类型,必选。
datename:表示参数的名称,必选。
------------------------------------------------------------------------------------------------------------------------------------------------
示例:
class Example { public void English(string myName) { MessageBox.Show("Good Morning:" + myName); } public void Chinese(string myName) { MessageBox.Show("早上好:" + myName); } public void GreetPeople(string name, Form1.GreetingDelegate MakeGreeting) { MakeGreeting(name); } }
------------------------------------------------------------------------------------------------------------------------------------------------
public delegate void GreetingDelegate(string name); //申明一个委托 Example ep = new Example(); //实例化 Example 类 private void button1_Click(object sender, EventArgs e) { ep.GreetPeople("Mike",ep.English); //调用 GreetPeople 方法 将English 方法作为参数传递 }