我有一个基类StandardMeasurement
和一个派生类CustomMeasurement
,这两个类都可以序列化。
这是我想要做的:
CustomMeasurement
到customMeasInstance
。StandardMeasurement stdMeas = (StandardMeasurement)customMeasInstance
。stdMeas
(仅限)序列化为StandardMeasurement
类型。 我在尝试时遇到错误,因为XML序列化程序仍将stdMeas
视为CustomMeasurement
。有没有办法可以做到这一点,还是我必须手动“复制”所有信息?
谢谢!
答案 0 :(得分: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);