在C#中序列化对象的一部分

Ami*_*hen 2 c# xml serialization

我有一个C#对象,它包含一个大列表(10-100MB)和一些其他属性.我想序列化对象,但我不想序列化列表.有没有简单的方法呢?

谢谢!

Mar*_*ell 5

因为它被标记为,所以这可以像添加[XmlIgnore]到适当的属性一样简单:

[XmlIgnore]
public List<Foo> Items {get;set;}
Run Code Online (Sandbox Code Playgroud)

然后就像XmlSerializer正常一样使用.

如果它需要可控(有时是,有时没有),那么另一种方法是添加:

public bool ShouldSerializeItems() {
    // your logic here
}
Run Code Online (Sandbox Code Playgroud)

XmlSerializer包含的许多序列化程序都能识别这种模式.