这是什么意思?

本文关键字:意思 是什么 | 更新日期: 2023-09-27 18:09:01

下面这一节关于构造函数初始化式的含义是什么?

实例构造函数初始化器不能访问正在创建的实例。因此,在构造函数初始化式的参数表达式中引用this是编译时错误,就像参数表达式通过simple-name引用任何实例成员也是编译时错误一样。

这是什么意思?

这意味着当构造函数初始化器运行时,实例仍处于创建过程中。因此,该初始化器不能通过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())。