【发布时间】:2013-01-29 21:34:16
【问题描述】:
我正在寻找一个问题,但我仍然对如何解决这个问题感到困惑。 我有基类,并且有一些属性。 基类有两个派生类。
我想在一个派生类中序列化基类属性,但我不想在第二个序列化类中序列化相同的属性。
这不是实际代码,仅用于示例目的。
public class BaseRouter
{
private Double r;
private Double bch;
[XmlElement("BaseRouter.r")]
public double R { get { return r; } set { r = value; } }
}
第一个派生类
public class CiscoRouter : BaseRouter
{
private String mRID;
[XmlAttribute("ID", Namespace = "rdf")]
public String MRID { get { return this.mRID; } set { mRID = value; } }
public Router()
{
}
第二个派生类
public class DellRouter : BaseRouter
{
private String mRID;
[XmlAttribute("ID", Namespace = "rdf")]
public String MRID { get { return this.mRID; } set { mRID = value; } }
public Router()
{
}
}
如何避免BaseRouter.r 在DellRouter 类中并包含在CiscoRouter 序列化中?
【问题讨论】:
-
为什么要在两个派生类中使用不同的序列化?在我看来,你破坏了 LSP。
标签: c# xml serialization base derived