C#语言中,代理是指Delegate,也翻译为委托。C#中的delegate和
C++中的
函数指针基本是一回事,C#正是以delegate的形式实现了函数指针。不同的地方在于C#中delegate是类型安全的。(严格来说,C#中的委托是以面向对象方式将符合某种特征的方法封装为参数类型,从而使其可以作为参数被使用;委托的实现原理与函数指针完全不同)
delegate仅仅关注涉及的方法(
函数)的细节。它是一种类型,这种类型的变量可以用来
赋值不同(但类似)的方法(函数)。说白了,即是将处理代码“放置”到变量中,“执行”这个变量,就是执行这个变量中“放置”的代码。