我有下面的代码,我试图了解它做什么:构造实现的东西
readonly Ido _do;
public Main(): this(new doX()) { }
public Main(Ido do) {
_do = do;
}
这是什么做的第一个构造函数?
this(new doX())
和为什么应用程序首先由
Main(Ido do)
开始,然后调用
this(new doX())
,而我相信这应该是倒过来
我有下面的代码,我试图了解它做什么:构造实现的东西
readonly Ido _do;
public Main(): this(new doX()) { }
public Main(Ido do) {
_do = do;
}
这是什么做的第一个构造函数?
this(new doX())
和为什么应用程序首先由
Main(Ido do)
开始,然后调用
this(new doX())
,而我相信这应该是倒过来
调用默认构造通过调用new Main()
将首先执行哪个调用第二构造函数this(new doX())
。
尝试单步执行调试器中的代码,它应该变得清晰。
this(new dox)
被调用构造函数这是您的类的参数化构造函数。您可以使用这个关键字在同一对象中调用另一个构造函数。
调用该类的其他构造函数。不带参数即 - -
: base(...) // Call a base class contructor
: this(...) // Call another constructor in the same class
默认构造函数使用默认值,即新的doX()调用重载的构造函数。 –
它与实现无关。不要搞乱“:”在这里 – Alireza
尝试用可读的英文重述问题! –