2 c# xml serialization subclass
让我有一个基类
public class MyClass
{
private bool _success;
public bool Success
{
get { return _success; }
set { _success = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
和派生类
public class MySubClass : MyClass
{
public string str { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
问题:如何序列化MySubClass以使序列化结果中XML没有<Success>标记?
[XmlIgnore]
public bool Success
{
get { return _success; }
set { _success = value; }
}
Run Code Online (Sandbox Code Playgroud)
该[XmlIgnore]属性告诉序列化过程忽略此属性.它永远不会被序列化,因此序列化的XML中不会有节点
http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlattributes.xmlignore.aspx
要仅忽略子类中的字段,可以从基类覆盖该属性.
在您的基类中(注意virtual关键字):
public virtual bool Success {get;set;}
Run Code Online (Sandbox Code Playgroud)
在你的子类中
[XmlIgnore]
public override bool Success {get;set;}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2515 次 |
| 最近记录: |