巧了,最近我才研究了一下。你学过C了吧,说白了,委托就是换了个名词,跟什么一样呢,就跟C里的函数指针类似,什么是函数指针,就是一个指向函数的指针,通过把函数名赋给指针,我们可以在需要的位置通过这个指针来调用函数。C#里的委托就跟它类似,用法这样的:1.声明一个委托(函数指针)2. 创造符合委托格式的函数。(指针指向的函数)3. 创建委托对象4. 将函数名称赋值给委托。这样即可在需要的地方使用委托来调用函数。
使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。
委托的一个有趣且有用的属性是,它不知道或不关心自己引用的对象的类。任何对象都可以;只是方法的参数类型和返回类型必须与委托的参数类型和返回类型相匹配。
委托是一个类,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句。使得程序具有更好的可扩展性。
在使用委托的时候,可以像对待一个类一样对待它。即先声明,再实例化。只是有点不同,类在实例化之后叫对象或实例,但委托在实例化后仍叫委托。
运用委托是为了使得程序具有更好的可扩展性。
当需要定义一个方法类型时需要用到。