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("张子阳");

posted on 2016-06-08 10:20  Mr.He多多指教  阅读(144)  评论(0编辑  收藏  举报