序列化只读集合而不实现IXmlSerializable

时间:2013-07-24 09:59:59

标签: c# serialization fxcop readonly-collection

我有一个班级:

[Serializable]
public class Profile
{
    [XmlAttribute]
    private string[] permissions;
    public string[] Permissions
    {
        get { return permissions; }
        set { permissions = value; }
    }
}

我想用XmlSerializer在XML中序列化它,我还必须符合FxCop。问题是FxCop只想公开属性的只读集合,但当然ReadOnlyCollection不可序列化。我不想实现IXmlSerializable,因为它太痛苦了。 还有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

选项:

  • 你可以使用List-of-String而不是字符串数组;这不需要setter,因为可以直接操作集合
  • 你可以接受fxcop总是一般化,有时候泛化不适合你的特定上下文 - 意思是:在这种情况下简单地忽略fxcop