C# 停止类序列化

标签 c# xml serialization

如果类在集合中,我需要阻止它被序列化,因为我无法控制返回集合的父类属性。不实现 ISerializable 有什么解决办法吗?

public class NonControllable{
    Collection children;
}

public class MyClass : NonControllable {
    // NEED TO STOP Serializing children property.
}

最佳答案

因为你有 [xml] 标签,你会想要(在父级别):

[XmlIgnore]
public Foo Bar {...}

但是,您无法在类型级别控制它。公开成员的类型必须对其进行定义。

另一种方法是在创建 XmlSerializer 时使用 XmlAttributeOverrides

请注意,ISerializable 对 xml 序列化没有影响;您将需要 IXmlSerializable,这(IMO)难以稳健地实现。

关于C# 停止类序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5880616/

相关文章:

c# - 在 C# Web 应用程序中嵌入 IronPython 2 的问题

c# - 在构造函数中包含基类的参数时,有没有办法利用继承?

Node.js - XML 验证

php - 尝试通过在 Laravel 5.2 中实现 ArraySerializer 来删除 Fractal 中的数据

java - 为什么我的类不可序列化?

C# SqlReader 问题

c# - 在 MVC 中将文本与图像居中

python - 为什么 ElementTree 会引发 ParseError?

sql-server - 对于 XML AUTO、原始 SQL Server

android - 仅在 Android 3.0 上异常(exception)