我的要求:List,SortedList,Dictionary按鍵存儲對象並序列化它們?
- 我需要存儲一個類的內部對象的集合,
對象必須是他們的主要訪問(這將是唯一的字符串),搜索/刪除/替換必須全力以赴這
MyClass somethingNew = new MyClass(); // set someproperties on somethingNew somethingNew.Id = "FooBar"; // theOtherObject already contains an object with the key "FooBar" theOtherObject.Members[somethingNew.Id] = somethingNew;
當新對象未插入排序應該發生,
- 屬性(集合)必須是可序列化到XML我們DataContractSerializer。
那麼,如何選擇會員屬性? 我想,列表和排序列表是出了問題,所以我將使用通用
Dictionary<string, MyClass>.
這是一個正確的決定?它支持序列化嗎?
-1 KeyedCollection是一個抽象類,不能直接實例化。它也適用於Key直接嵌入到Value對象中的情況(在這種情況下,它不是真的)。 –
2010-08-02 17:15:46
是的,我知道這是一個抽象類。但他正在根據他的「MyClass」的'somethingNew.Id'進行查找。如果這個集合在整個應用程序的許多地方使用,那麼創建一個專用的集合類「MyClassCollection」來處理對這些對象的集合的訪問沒有任何問題。 – 2010-08-02 17:25:30
你說得對。我錯誤地閱讀了代碼。您可能想要更新您的答案,以包含OP必須創建從KeyedCollection派生的自定義集合類型的事實。 –
2010-08-02 17:42:26