In my C# code I want a CustomIdentity class that inherits from System.MarshalByRefObject and System.Security.Principal.GenericIndentity classes.
However when I try to write such inheritance C# would object with CS1721 error saying I can’t directly inherit from more than one class.
Now in this case it’s quite easy to overcome this – I’ll inherit from IIdentity, add GenericIdentity member variable and reimplement all IIdentity methods via that member variable.
But how would I do in case I wanted to inherit from two classes with a huge set of methods?
You don’t. You can’t.
That is not supported in C# or .NET.
You use multiple interface implementation, and at most single (non-
object) inheritance. In most cases, even single inheritance is vastly overused ;pTo absorb the methods, you’d have to use some kind of encapsulation. Extension methods also provide a way to share methods between types, for completeness.