I have one base class Base and a class Derived1 which is derived from Base class and another derived class Derived2 which is dervied from derived1.
Below i have mentioned few cases of object creation ( following by Multilevel inheritance of class ). Can someone help me in understanding those cases in which object creation is not possible and why it is not possible in C# ?
Base b1 = new Base() //Possible
Base b1 = new derived1() // Possible
Derived1 d1 = new Base() // Not Possible
Derived1 d1 = new Derived1() // Possible
Derived2 d2 = new Derived1() // ----
Derived1 d1 = new Derived2() // ----
Derived2 d2 = new Derived2() // Possible
Derived2 d2 = new Base() // ----
Base b1 = new Derived2() // ----