using System;
//任何可以声明类的地方都可以声明委托
delegate void Eatdelegate(string food);//声明委托
//委托要调用方法,返回值,参数的数据类型和个数必须一致
class Mydelegate
{
static void zsEat(string food)
{
Console.WriteLine("张三吃"+food);
}
void lsEat(string food)
{
Console.WriteLine("李四吃"+food);
}
static void Main()
{
/*zs这个委托实例它所代理的方法名叫zsEat,
将委托与方法相关联*/
Eatdelegate zs=new Eatdelegate(zsEat);
zs("西瓜");//用委托调用方法
Mydelegate my=new Mydelegate();
//非静态方法需要用实例方法作为委托构造方法的参数
Eatdelegate ls=new Eatdelegate(my.lsEat);//注意方法名后不加括号
ls("苹果");
}
}