这个C#代码发生了什么?我甚至不确定它为什么编译.具体来说,它在设置Class1Prop尝试使用对象初始化器语法的地方发生了什么?它似乎是无效的语法,但它在运行时编译并产生一个空引用错误.
void Main()
{
var foo = new Class1
{
Class1Prop =
{
Class2Prop = "one"
}
};
}
public class Class1
{
public Class2 Class1Prop { get; set; }
}
public class Class2
{
public string Class2Prop { get; set; }
}
Run Code Online (Sandbox Code Playgroud) c# ×1