[英]What's the meaning of this
下一节有关构造函数初始化程序的含义是什么?
实例构造函数初始化器无法访问正在创建的实例。 因此,在构造函数初始值设定项的参数表达式中引用
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()
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.