为什么我们不能从 derived 中调用 base class 的构造函数

Why we cannot call constructor of base class from derived

我需要理解为什么我们不能从派生调用基 class 的构造函数的概念。我有一些场景。

public class clsA
    {
        int i = 10;
        public void CallA()
        {
            Console.WriteLine("Called by Class A");
        }
    }

    public class clsB : clsA
    {
        int i = 20;
        public void CallB()
        {
            Console.WriteLine("Called by Class B");
        }

    }

如果我喜欢的话

clsA _obja = new clsA();

然后基 class 的构造函数被调用,我们得到它的方法。

如果我喜欢的话

clsB _objb = new clsB();

然后还调用了基础 class 的构造函数,我们得到了基础 class 方法和派生的 class 方法。

如果我喜欢的话

clsA _objab = new clsB();

然后基 class 的构造函数被调用,我们得到它的方法。

但现在我的问题是为什么我们不能像

那样从派生class调用基class的构造函数
clsB _objb = new clsA();

请推荐我。我想要简单的答案。

这与构造函数调用无关。问题是您不能将父 class 的实例分配给子 class 的变量。 clsB 实例是 clsA,但 clsA 对象不一定是 clsB