使用XML序列化对类进行序列化时,如何使某些属性有条件地输出。即在某些情况下,它输出这个属性,在其他情况下,它不输出。
最佳答案
您可以创建一个名为 MyPropertySpecified
的附加属性,它返回一个 bool 值。
当此属性返回 true 时,MyProperty
属性将被序列化。当它返回 false 时,它不会被序列化。
此外,您还想用 XmlIgnoreAttribute
装饰该属性,这样该特定属性就不会被序列化。
例子:
public class Person
{
public string Name
{
get;
set;
}
[XmlIgnore]
public bool NameSpecified
{
get { return Name != "secret"; }
}
}
关于c# - 在某些情况下如何序列化某些属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4386338/