【问题标题】:Usage of multiple inheritance via interface通过接口使用多重继承
【发布时间】:2013-01-27 02:02:02
【问题描述】:
【问题讨论】:
标签:
.net
oop
design-patterns
【解决方案1】:
总是说使用接口我们可以在.NET中实现多重继承。
这实际上是不正确的。 .NET 中没有真正的多重继承。接口只是提供了一种机制来实现许多与多重继承相同的目标,而导致问题的极端情况要少得多。
现在我的问题是,在 .NET 框架或 .NET 世界中是否有任何流行的库中的多重继承示例。
再说一遍 - .NET 中没有多重继承。但是,整个框架都使用接口来提供重用,而不必指定固定的基本类型。 LINQ 就是一个很好的例子 - LINQ 提供的几乎所有功能都适用于接口,这允许该功能跨多种类型工作,而无需多重继承。
【解决方案2】:
class MyBaseClass:IEnumerable,IQueryable
正如您已经知道的那样,以上是通过接口实现的 c# 中多重继承的主要示例之一。
StackOverflow 为像你这样严肃的程序员大量讨论了这个话题。