申明一个委托的语法如下:
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 方法作为参数传递
}