我的要求: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