0
以下部分对constructor initializers有什么含义?这是什么意思
实例构造函数初始值设定项无法访问正在创建的实例。因此,在构造函数初始值设定项的参数表达式中引用
this
是一个编译时错误,因为它是参数表达式通过简单名称引用任何实例成员的编译时错误。
以下部分对constructor initializers有什么含义?这是什么意思
实例构造函数初始值设定项无法访问正在创建的实例。因此,在构造函数初始值设定项的参数表达式中引用
this
是一个编译时错误,因为它是参数表达式通过简单名称引用任何实例成员的编译时错误。
这意味着当构造函数初始化器运行时,实例仍处于创建过程中。因此,初始化不能访问实例成员,无论是通过this
或直接:
class Foo
{
private int _bar;
public Foo(int bar)
{
_bar = bar;
}
public Foo() : this(_bar) // Illegal.
{
}
public Foo() : this(this._bar) // Also illegal.
{
}
}
这个道理也适用于这两个构造函数初始化(this()
和base()
)。
+1导致作者不能被指责为微软文档,我认为这是许多人都不知道的东西。 –
@alina文档有什么问题,为什么会受到责备? –
没有什么是错的,只是人们在没有留下任何评论的情况下投下了这个问题。 –