C#初始化对象

时间:2014-10-22 10:27:08

标签: c#

前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" }
}

1 个答案:

答案 0 :(得分:2)

对象初始值设定项中没有相应的代码 - 您无法指定类似的索引器。它甚至直接工作有点不寻常...我希望添加Locations属性,而不是有两个已经可用,我可以设置非常规名称财产。例如,这将是惯用的:

Customer customer = new Customer {
    Name = "Me",
    Locations = {
        new Location("New York"),
        new Location("France")
    }
};

(我可能会把名字放在构造函数参数中,请注意。)

然后,您可以在集合初始值设定项中使用它。