委托是对方法的包装
在不确定要调用什么方法时候而又不能用抽象或者多态实现的时候用委托。
比如一个button,当点击肯定要触发事件,做一些处理,如果你是这个控件的开发者,你怎么知道当点击是要处理什么?你这个button会被什么容器所包含?所以你必须公布一个event出去,用控件的人具体去实现其功能。
[原创] C#委托(Delegate)事件(Event)应用详解 源代码下载:
http://hi.baidu.com/jonnysuen/blog/item/afbeec59416ada88810a1878.html
我写的一篇文章,里面说的很清楚了
C#中的delegate(委托)和C++中的函数指针基本是一回事,C#正是以delegate的形式实现了函数指针。
代理就是委托、但一提委托就会有事件,
C#中委托用来干什么呢,当然不是用来实现象上面那样的弱智程序。在C#中一提委托,一般就会引出另外一个术语:事件。C#中事件的实现,正是依赖于delegate。而事件又是一个很重要的概念,只有真正理解了委托,才能打好基础,真正的弄明白事件。
希望有帮助
通俗的讲代理就是将方法作为参数带入另外一个方法来执行。