0

我有一个基类StandardMeasurement和一个派生类CustomMeasurement,它们都可以序列化。

这是我想做的事情:

  1. CustomMeasurement从文件加载到customMeasInstance.
  2. 创建新的标准。测量 圣:StandardMeasurement stdMeas = (StandardMeasurement)customMeasInstance
  3. 序列化stdMeas(仅)作为一种StandardMeasurement类型。

尝试时出现错误,因为XML 序列化stdMeas程序仍将其视为 a CustomMeasurement。有没有办法可以做到这一点,还是我必须手动“复制”所有信息?

谢谢!

4

1 回答 1

1

使用System.Xml.Serialization.XmlSerializer该类,您应该能够执行以下操作:

编辑 -object initializer为与 .NET 2.0 兼容而删除

var cust = new CustomMeasurement();

cust.SomeProperty = "Foo";
cust.AnotherProperty = "Bar";

var serializer = new XmlSerializer(typeof(StandardMeasurement), new Type[] { cust.GetType() });
serializer.Serialize(Console.Out, cust);
于 2012-04-19T21:10:44.453 回答