C# 什么';这是什么意思

C# 什么';这是什么意思,c#,constructor,C#,Constructor,下面这一节的意思是什么 实例构造函数初始值设定项无法访问正在创建的实例。因此,在构造函数初始值设定项的参数表达式中引用this是编译时错误,参数表达式通过简单名称引用任何实例成员也是编译时错误 这意味着当构造函数初始值设定项运行时,实例仍处于创建过程中。因此,该初始值设定项无法通过this或直接访问实例成员: class Foo { private int _bar; public Foo(int bar) { _bar = bar; }

下面这一节的意思是什么

实例构造函数初始值设定项无法访问正在创建的实例。因此,在构造函数初始值设定项的参数表达式中引用
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文档有什么问题,为什么要怪它?没有什么问题,只是人们投票否决了这个问题,没有留下任何评论。