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文档有什么问题,为什么要怪它?没有什么问题,只是人们投票否决了这个问题,没有留下任何评论。