求助 c#委托问题
刚开始学习c#帮忙看看下面一段代码哪里错了using System;
delegate void EatDelegate(string food);
class myDelegate
{
static void zsEat(string food)
{
Console.WriteLine("张三吃"+food);
}
static void lsEat(string food)
{
Console.WriteLine("李四吃"+food );
}
static void wwEat(string food)
{
Console.WriteLine("王五吃"+food);
}
static void Main()
{
EatDelegate zs = new EatDelegate(zsEat);
EatDelegate ls = new EatDelegate(lsEat );
EatDelegate ww = new EatDelegate(wwEat );
EatDelegate eatChain;
eatChain = zs + ls + ww;
eatChain =("西瓜");
Console.ReadKey();
}
}
谢谢了!!!!!!!
main 方法中 改为
EatDelegate e1 = zsEat;
EatDelegate e2 = lsEat;
EatDelegate e3 = wwEat;
e1("西瓜");
e2("西瓜");
e3("西瓜");
Console.Read(); 也有更简单的方法
在添加一个方法
static void run(string food , EatDelegate e)
{
e(food);
}
然后MAIN方法改为
run("西瓜",zsEat);
Console.Read(); ibcadmin 发表于 2013-3-31 15:25 static/image/common/back.gif
main 方法中 改为
EatDelegate e1 = zsEat;
想通过委托链方法直接输入一次(“西瓜”)同时都调用了上面的三个函数 但是报错说是无法将string 隐式转换为EatDelegate不明白为什么 ibcadmin 发表于 2013-3-31 15:27 static/image/common/back.gif
也有更简单的方法
在添加一个方法
谢谢 您的回复 那就用第一种方法 把等于号去掉就可以了 谢谢大家 谢谢分享!!! 谢谢分享!!!
页:
[1]