在C#中,存在「標準」初始化方法{Property1 =「a」,Property2 =「b」},並且存在一些用於集合(列表和字典)的特殊變體。 {value1,value2}和{{「key1」,value1},{「key2」,value2}}。在C#中,有沒有辦法爲新數據類型編寫自定義對象初始值設定項?
我想有一個樹型數據類型的遞歸對象初始值設定項,但我不知道是否有任何方法來定製該機制。我想要一些看起來像s表達式的東西。 {item1 {item2 item3 item4} {item5 item6}}
我這樣做是通過構造函數,但我想要一個terser語法。
你不需要實現ICollection - 只是IEnumerable – 2009-11-16 21:43:09
這不像我想象的那麼簡潔,但它看起來就像你可以得到的一樣接近,看起來像這樣的答案是,你不能真正定製了對象初始化機制,但是您可以搭載IEnumerable內置的初始化支持。 – darthtrevino 2009-11-17 00:27:50
找到一篇博客文章討論這個http://resharper.blogspot.com/2 007/09/c-30-collection-initializers-incomplete.html – darthtrevino 2009-11-17 00:36:13