前3行代码工作正常..
使用object initializer时如何才能这样做?
// works
Customer MyCustomerx = new Customer();
MyCustomerx.Location[0].place = "New York";
MyCustomerx.Location[1].place = "France";
// problem here
List<Customer> MyCustomer = new List<Customer>
{
new Customer() { Name= "Me",Location[0].place = "New York" }
}
答案 0 :(得分:2)
对象初始值设定项中没有相应的代码 - 您无法指定类似的索引器。它甚至直接工作有点不寻常...我希望添加到Locations
属性,而不是有两个已经可用,我可以设置非常规名称财产。例如,这将是惯用的:
Customer customer = new Customer {
Name = "Me",
Locations = {
new Location("New York"),
new Location("France")
}
};
(我可能会把名字放在构造函数参数中,请注意。)
然后,您可以在集合初始值设定项中使用它。