http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html
对于这篇文章的疑问:
1.原文中说:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
static void Main(string[] args) {
GreetPeople("Jimmy Zhang", EnglishGreeting);
GreetPeople("张子阳", ChineseGreeting);
Console.ReadKey();
}
既然我们在调用的时候已经知道了,Jimmy Zhang对应的是EnglishGreeting方法,张子阳对应的是ChineseGreeting方法,我们为何不直接这样写
EnglishGreeting("Jimmy Zhang"); ChineseGreeting("张子阳");这样也避免了大量的使用If-Else(Switch)语句。
我认为如下两种方式看起来,并没有觉得使用委托会有多方便:
GreetPeople("Jimmy Zhang", EnglishGreeting); EnglishGreeting("Jimmy Zhang");
GreetPeople("张子阳", ChineseGreeting); ChineseGreeting("张子阳");