从 Type 创建一个对象并从 xml 向其添加值

本文关键字:添加 Type 创建 一个对象 xml | 更新日期: 2023-09-27 18:34:00

>我有一个对象类型如下。

Type objectType = paramters[0].ParameterType;
object instance = Activator.CreateInstance(objectType);

我正在尝试创建一个类型为"objectType"的对象,我需要从 xml 填充值。以下是我正在尝试执行的代码片段。

var fs = new FileStream(WCFServices.XmlFileName, FileMode.Open);
var reader = XmlReader.Create(fs);
var serializer = new XmlSerializer(objectType);
var  something = (??)serializer.Deserialize(reader); 

如何反序列化为"对象类型"类型的对象?

从 Type 创建一个对象并从 xml 向其添加值

你不能,除非你有一个固定的类型列表(你可以创建一个返回类型化实例的泛型方法)。此外,您不需要,因为您不知道它是什么(您在参数中接收类型,因此这是"外部知识"),将其转换为某些东西是没有意义的。实例具有正确的类型,因此不用担心。只需使用object.

object something = serializer.Deserialize(reader);