Mã này biên dịch thành công, nhưng tôi nghĩ rằng nó sẽ không biên dịch được. Ngoài ra, khi bạn chạy nó, bạn sẽ có được một NullReferenceException
. Mã bị thiếu là "thanh mới" trong quá trình khởi tạo thuộc tính Bar
.Đây có phải là lỗi trong trình biên dịch C# 4.0 không?
class Bar
{
public string Name { get; set; }
}
class Foo
{
public Bar Bar { get; set; }
}
class Program
{
static void Main(string[] args)
{
var foo = new Foo
{
Bar = { Name = "Hello" }
};
}
}
Đây có phải là lỗi đã biết không?
Tại sao bạn nghĩ nó nên thất bại trong việc biên dịch? Tôi sẽ không cho rằng đó là lỗi trình biên dịch. –
Vâng, đó là một tính năng đã biết. – leppie
Bởi vì không có cách nào có thể làm việc này – Maxm007