委托事件:
何为委托事件?
个人理解:委托其他函数办事的事件。
//委托声明(不清楚叫啥)
public delegate bool GetCountry(string name)
class Program
{
public static void Greeding(string name,GetCountry isbig)
{
if (isbig(name))
{
WriteLine("Hello " + name + "!");
}
else
{
WriteLine("你好 " + name + "!");
}
}
}
public static bool Getgreeding1(string name)
{
WriteLine("1");
int a = 0;
return true;
}
public static bool Getgreeding2(string name)
{
WriteLine("2");
int a = 0;
return false;
}
public static bool Getgreeding3(string name)
{
WriteLine("3");
int a = 0;
return !int.TryParse(name, out a);
}
static void Main(string[] args)
{
GetCountry d1;
d1 = Getgreeding1;
d1 += Getgreeding2;
d1 += Getgreeding3;
string name = "Geng";
Greeding(name, d1);
ReadKey();
}
}
输出:
将Getgreeding3 返回值改为
public static bool Getgreeding3(string name)
{
WriteLine("3");
int a = 0;
return int.TryParse(name, out a);
}
输出结果:
虽然定义的d1被叠加了三个方法,但是最终判定是以最后一个判定的。