委托如何提供抽象

How do delegates provide abstraction

我们如何使用委托进行抽象?我们也可以使用接口进行抽象,那么哪个更好呢?是使用接口还是使用委托。

一个简单的实际例子会有所帮助。

谢谢。

1)防止额外的函数创建

2)防止硬编码的事件

要部分回答问题,请考虑记录在案的通用 Linq 扩展方法 OrderBy here。可以使用委托来提供从序列成员到类型的映射,然后将其用于适当的比较。因此,实际排序与通过结果类型的实现隐式给出的顺序分离。使用的委托类型允许更抽象的排序算法实现。