简单谈一下对委托的认识,算是对这篇博客( 这里)的理解和概括吧!
委托(Delegate)首先可以看做一个特殊的类,而一些函数是他的变量取值范围。
如声明一个委托:public delegate void GreetingDelegate(string name);那么我们在别的函数中把函数名当做变量传进来,这样子就可以调用相应的函数了。委托应该先声明才能用,注意作用范围。在任意函数里就可以用这个委托了。public void GreetingPeople(string name, GreetingDelegate MakeGreeting); 第二个参数就可以赋值为不同的函数名。可以这样子 调用这个函数,GreetingPeople("Bruce", ChineseGreering); 或者 GreetingPeople(string name, EnglishGreeting); 注意这里的两个函数 ChineseGreeting 和 EnglishGreeting 得和GreetingDelegate的类型一样(返回值,参数)。
我们可以声明一个委托类型,并把函数赋值(或者说改叫绑定了)过来,如 GreetingDelegate delegate1; delegate1 = EnglishGreeting; delegate1 += ChineseGreeting; 这样子可以同时调用两个函数了,当然,这里的参数是一样的。
这里的 delegate1 既