当要把方法传给其他方法时, 需要使用委托.
在 C 和 C++ 中, 只能提取函数的地址, 并传送为一个参数, C 是没有类型安全的, 可以把任何函数传送给需要函数指针的方法. 这种直接的方法会导致一些问题, 例如 类型的安全性, 在进行面向对象编程时, 方法很少是孤立存在的, 在调用前, 通常需要与类实例相关联. 而这种方法没有考虑到这个问题.
所以.NET Framework 在语法上不允许使用这种直接的方法.
如果要传递方法, 就必须把方法的细节封装在一种新类型的对象中, 即委托.
委托只是一种特殊的对象类型, 其特殊之处在于, 我们以前定义的所有对象都包含数据,
而委托包含的只是方法的地址
|