class Program
{
static void Main(string[] args)
{
//函数声明
Speak sp = new Speak();
//创建一个委托 同时把方法传入到委托里面
Sayed say = new Sayed(sp.SpeakChinese);
say("测试1");
// Labmda表达式
Sayed sys = (string name) => { Console.Write(name); };
sys("Labmda表达式");
//使用匿名方法
Sayed sys1 = delegate (string name)
{
Console.Write(name);
};
sys1("匿名方法");
//委托的传播性 一个委托中可以有多个方法
//实例化委托
Sayed demo = new Sayed(sp.SpeakChinese);
demo += new Sayed(sp.SpeakEnglish);
}
}
//定义一个委托 返回类型是void
delegate void Sayed(string name);
public class Speak
{
public void SpeakChinese(string name)
{
Console.Write("我在说中文" + name);
}
public void SpeakEnglish(string name)
{
Console.Write("我在说英文" + name);
}
}