让我有一个基类
public class MyClass
{
private bool _success;
public bool Success
{
get { return _success; }
set { _success = value; }
}
}
和派生类
public class MySubClass : MyClass
{
public string str { get; set; }
}
问题:如何序列化MySubClass
至 XML
这样就没有 <Success>
序列化结果中的标签?
最佳答案
[XmlIgnore]
public bool Success
{
get { return _success; }
set { _success = value; }
}
[XmlIgnore]
属性告诉序列化进程忽略此属性。
它永远不会被序列化,因此在您的序列化 XML 中不会有节点
http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlattributes.xmlignore.aspx
要仅在您的子类中忽略该字段,您可以覆盖基类中的属性。
在您的基类中(注意 virtual
关键字):
public virtual bool Success {get;set;}
在你的子类中
[XmlIgnore]
public override bool Success {get;set;}
关于c# - 如何将属性隐藏到用于 XML 序列化的基类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23263966/