繁体   English   中英

在C#中继承的情况下,是否真的可能先调用Child类构造函数而不是父类构造函数

[英]Is it really possible to call Child class constructor first instead of parent class constructor in case of inheritance in C#

有任何机构可以帮助我解释一下,如果在C#中继承,是否真的可以先调用Child类构造函数而不是父类构造函数?

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

如果您从构造函数中调用虚方法,这通常只是一个问题, 而您不应该这样做

.NET框架试图确保在没有调用所有基类构造函数的情况下,对象无法暴露给外界。 结果,对于子类构造函数在调用父构造函数之前允许的操作存在严格的限制。 用C#编写的子类构造函数将在调用父构造函数之前对字段初始化表达式求值,因此从技术上讲,子类构造函数先于父类运行。 不幸的是,目前不允许字段初始化表达式做太多事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM