摘要:
我们都应该清楚,在使用委托之前,先要定义一个委托类型,如下所示:delegate int MyDelegate(int a,int b);MyDelegate md =null;既然叫做委托类型,就说明MyDelegate实际上是一个类,上面的写法只是一种简单的缩略写法,实际上,我们自己定义的委托,都是继承自System.MulticastDelegate类的.可以发现还存在4个方法,一个是构造函数。MulticastDelegate类MultiDelegate类是一个特殊类(Special Class),和System.Delegate类一样,该类只能够被编译器以及内置的工具类所继承,我们自 阅读全文
摘要:
委托可以这样来理解:它是一种数据类型,和引用类型类似,不过和一般的类相比,委托的实例不是在堆中的数据,而是一个方法。委托类似于引用类型,和C++中的函数指针很相似,但是不同之处就在于,它不是存在于堆中的。正是有了委托我们才得以将函数打包成一个变量进行传递。这就是说,我们不止能够将数据作为参数传递,还可以将一个函数作为参数进行传递,这样就可以在需要的时候方便的进行控制的反转(Ioc,控制反转)。代码下载地址下面写一个简单的实例进行理解:两个数求其中的较大值、较小值。 /// /// 两个数求较大值 /// /// ///... 阅读全文