2014-10-22 136 views
-4

前3行代碼工作正常..C#初始化對象

如何在使用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" } 
} 
+2

這個問題沒有說明的意義。 – 2014-10-22 10:28:41

+1

給我們更多的信息。不工作是不夠的。 – Complexity 2014-10-22 10:29:39

+0

如果從數據庫中拔出複雜性就容易多了。它就像一個人有很多電話..比如我有諾基亞,三星,你有聯想......我們如何在C#中構建poco?我有點測試,併發揮C#如何工作..從PHP背景..有很多的可能性,可以做到這一點,沒有錯誤.. – user2524126 2014-10-22 10:36:14

回答

2

在對象初始化器中沒有相應的代碼 - 你不能指定那樣的索引器。它有點不尋常,它甚至可以直接運行...我期望必須添加到Locations屬性,而不是有兩個已經可用,我可以設置一個非傳統命名的屬性。例如,這將是成語:

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

(我可能把名字變成一個構造函數的參數,請注意。)

然後,您可以使用一個集合初始化中,當然。

+0

謝謝..給我一些想法... :) ..我應該創建一個構造函數,而不是推入另一個函數的地方.. – user2524126 2014-10-22 10:48:34