以下关于构造函数初始值设定项的部分是什么意思?
实例构造函数初始值设定项无法访问正在创建的实例.因此
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.
{
}
}
Run Code Online (Sandbox Code Playgroud)
此推理适用于构造函数初始值设定项(this()和base()).