Multiple Inheritance in C#

Since multiple inheritance is bad (it makes the source more complicated) C# does not provide such a pattern directly. But sometimes it would be helpful to have this ability.

C# and the .net CLR have not implemented MI because they have not concluded how it would inter-operate between C#, VB.net and the other languages yet, not because “it would make source more complex”

MI is a useful concept, the un-answered questions are ones like:- “What do you do when you have multiple common base classes in the different superclasses?

Perl is the only language I’ve ever worked with where MI works and works well. .Net may well introduce it one day but not yet, the CLR does already support MI but as I’ve said, there are no language constructs for it beyond that yet.

Until then you are stuck with Proxy objects and multiple Interfaces instead 🙁

Leave a Comment