孩子出生时如何防止父亲建构者被召唤?

Maj*_*ili 0 c# wpf inheritance

我如何防止在孩子出生时调用父亲构造函数,实际上有一些初始化参数与父亲有关,我正在尝试在父亲构造函数中执行但是任何孩子都会导致构造函数在他们正在运行时运行创造了.我正在使用WPF,代码中有一个祖父,父亲和儿子.这是方式还是我应该改变解决方案?!!!! 例如使用bool检查何时调用?!! 或者也许大爸爸可以帮助他们?!! 我也想到静态方法,那是一个解决方案吗?

Bra*_*NET 6

不能这样做.

根据定义,在创建派生对象时,也会运行基类的构造函数.

您可以指定运行哪个基类构造函数:

public MyDerivedClass() : base() //Or some args to pick an overload
Run Code Online (Sandbox Code Playgroud)

但是你不能阻止它被调用.这是一个问题,这意味着你在构造函数中做了很多事情.构造函数应用于初始化成员变量和简单初始化逻辑.任何长时间运行的操作或复杂的逻辑都应该在其他方法中.

这种逻辑通常被放入virtual"Init"方法中,因此派生类可以覆盖初始化行为.