在c#中继承的情况下,真的可以先调用子类构造函数而不是父类构造函数吗?

本文关键字:构造函数 子类 调用 父类 继承 情况下 真的 | 更新日期: 2023-09-27 18:02:38

任何人都可以帮助我解释一下,在c#继承的情况下,真的有可能首先调用子类构造函数而不是父类构造函数吗?

在c#中继承的情况下,真的可以先调用子类构造函数而不是父类构造函数吗?

不能,不能在基类的构造函数之前执行派生构造函数中的代码。

这通常只有在你从构造函数调用虚方法时才会出现问题,而这是你不应该做的。

. net框架试图保证在没有调用所有基类构造函数的情况下不能将对象公开给外部世界。因此,在子类构造函数调用父类构造函数之前,允许执行的操作有严格的限制。用c#编写的子类构造函数将在调用父类构造函数之前计算字段初始化表达式,因此从技术上讲,子类构造函数在父类构造函数之前运行。不幸的是,目前,字段初始化表达式不允许做很多事情。