c# - 在不实现 IXmlSerializable 的情况下序列化只读集合

标签 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,因为它太痛苦了。 还有其他解决方案吗?

最佳答案

选项:

  • 您可以使用字符串列表而不是字符串数组;这不需要 setter,因为可以直接操作集合
  • 您可以接受 fxcop 始终是一种概括,并且有时这种概括不适合您的特定上下文 - 意思是:在这种情况下只需忽略 fxcop

关于c# - 在不实现 IXmlSerializable 的情况下序列化只读集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17830751/

相关文章:

c# - 从 C# 函数在 C++ COM dll 中传递字符串

c# - 如何在C#中计算每月的第二个星期五

json - 使用 POST 请求将 WebApi 序列化为 Json

java - 将 float 从 .NET 发送到 Java 并返回的最佳方法

fxcop - 比较两个 fxcop 结果

c# - FxCop 中的自定义规则仅适用于特定类型的方法调用的方法

c# - Reflection.Typeinfo/Reflection.Type 没有 GetProperties/GetFields 方法

c# - 为什么 Enum.Parse 创建未定义的条目?

c++ - 从 std::fstream 反序列化

security - 是否有任何工具可以对 .net 桌面程序集和可执行文件执行安全分析?