可能重复:
在成员初始化程序中不能使用'this'?
如果我尝试做这样的事情,为什么我会收到错误的任何想法:
public class Bar
{
public Bar(Foo foo)
{
}
}
public class Foo
{
private Bar _bar = new Bar(this);
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说:
"不能在成员初始化程序中使用'this'"
但以下工作:
public class Foo
{
private Bar _bar;
public Foo()
{
_bar = new Bar(this);
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道这背后的原因?我的理解是这些会编译成同一个IL,所以很好奇为什么一个被允许而另一个不被允许.
谢谢,亚历克斯
c# ×1