委托是一个方法的签名,它规定了方法的返回类型,参数的个数和类型。委托的作用是可以把方法当成参数一样进行传递。
定义:public delegate void ToDo();
委托由访问级别?关键词dalegate?返回类型?委托名称。
委托的使用:
public delegate string Speak(string name);
public class Simple{
public string SpeakingChinese(string name)
{
return name +" 你好,世界";
}
public string SpeakingEnglish(string name)
{
return name+" Hello world";
}
public void Do(Speak speak)//把方法当成参数
{
var content=speak();
Console.WriteLine(content);
}
}
客户端调用:
var simple=new Simple();
simple.Do(SpeakingChinese("张三"));
//输出 张三 你好,世界
simple.Do(SpeakingEnglish("Ber"));
//输出 Ber Hello world