C# 序列化只读集合而不实现IXmlSerializable
我有一门课:C# 序列化只读集合而不实现IXmlSerializable,c#,serialization,fxcop,readonly-collection,C#,Serialization,Fxcop,Readonly Collection,我有一门课: [Serializable] public class Profile { [XmlAttribute] private string[] permissions; public string[] Permissions { get { return permissions; } set { permissions = value; } } } 我想用XmlSerializer在XML中序列化它,而且我还必须
[Serializable]
public class Profile
{
[XmlAttribute]
private string[] permissions;
public string[] Permissions
{
get { return permissions; }
set { permissions = value; }
}
}
我想用XmlSerializer在XML中序列化它,而且我还必须遵守FxCop。问题是FxCop只想公开属性的只读集合,但ReadOnlyCollection当然是不可序列化的。我不想实现IXmlSerializable,因为这太痛苦了。
还有其他解决方案吗?选项:
- 您可以使用字符串列表而不是字符串数组;这不需要setter,因为可以直接操作集合
- 您可以接受fxcop总是一种泛化,有时泛化并不适合您的特定上下文-意思是:在这种情况下,只需忽略fxcop即可