2013-10-02 52 views
0

我有下面的代码,我试图了解它做什么:构造实现的东西

readonly Ido _do; 

public Main(): this(new doX()) { } 

public Main(Ido do) { 
    _do = do; 
} 

这是什么做的第一个构造函数?

this(new doX()) 

和为什么应用程序首先由

Main(Ido do) 

开始,然后调用

this(new doX()) 

,而我相信这应该是倒过来

+0

默认构造函数使用默认值,即新的doX()调用重载的构造函数。 –

+0

它与实现无关。不要搞乱“:”在这里 – Alireza

+0

尝试用可读的英文重述问题! –

回答

0

调用默认构造通过调用new Main()将首先执行哪个调用第二构造函数this(new doX())

尝试单步执行调试器中的代码,它应该变得清晰。

0

this(new dox)被调用构造函数这是您的类的参数化构造函数。您可以使用这个关键字在同一对象中调用另一个构造函数。

0

调用该类的其他构造函数。不带参数即 - -

: base(...) // Call a base class contructor 
: this(...) // Call another constructor in the same class 
相关问题