It is well known that C# class can inherit only from a Single Base class
How does it make sense because all classes derive from System.Object?
Also, If I look into class ValueType definition (for example), which i know that inherits directly from System.Object, i see that it is just an abstract class. i expect to see:
public abstract class ValueType : System.Object
Inheritance is most easily visualized as a hierarchy or tree. See if this makes sense:
Looking at
MyProject.SomeDerivedClass, you can clearly see that it has exactly one parent in the hierarchy, its base class,MyProject.SomeBaseClass. Now,MyProject.SomeBaseClasshas exactly one parent as well,System.Object.While
MyProject.SomeDerivedClassdoesn’t directly inherit fromSystem.Object, its parent does; everything the parent either inherits or provides is passed on to the derived object. So, even thoughMyProject.SomeDerivedClassonly inherits directly fromMyProject.SomeBaseClass, it still inherits fromSystem.Objectbecause its parent does so.