C# 序列化:强制元素值必须唯一
我正在使用.NET4.5用C编写一个类,并试图在反序列化该类的列表时强制执行一条规则,即其中一个字段在所有字段中必须是唯一的。基本上:C# 序列化:强制元素值必须唯一,c#,serialization,C#,Serialization,我正在使用.NET4.5用C编写一个类,并试图在反序列化该类的列表时强制执行一条规则,即其中一个字段在所有字段中必须是唯一的。基本上: [Serializable] public class Item { [XmlAttribute] public string Name { get; set; } [XmlAttribute] public int ID { get; set; } } 当我序列化或反序列化此类的列表时,我希望验证所有ID在给定集合中是否唯一
[Serializable]
public class Item
{
[XmlAttribute]
public string Name { get; set; }
[XmlAttribute]
public int ID { get; set; }
}
当我序列化或反序列化此类的列表时,我希望验证所有ID在给定集合中是否唯一。我可以使用任何Xml强制执行此操作吗。。。属性?或者我必须接受反序列化为有效的Xml,然后在代码端处理它吗?谢谢 你不应该在序列化之前处理好吗?似乎是责任的混合。我希望双方都有责任。如果有人要编辑Xml,我希望序列化程序能够在读取Xml之前验证Xml的状态,而不是序列化任务。读入并验证/修复它。