Heard of mix-ins? They’re an alternative to multiple inheritance, made popular recently by Ruby. Basically, you can use them to “mix in” methods from an interface with their implementations into a class.
In Ruby you can do this by including a module in a class. In C#, you do it by implementing...