2009-07-15 81 views
1

我有以下方法动态类型转换

public static void SerializeToXMLFile(Object obj,Type type, string fileName) 
{ 
    XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); 

    ns.Add("", ""); 

    XmlSerializer serializer = new XmlSerializer(type); 
    TextWriter tw = new StreamWriter(fileName); 

    serializer.Serialize(tw, obj, ns); 
    tw.Close(); 
} 

的问题是在代码行物镜将被序列化为一个对象,该通知。

serializer.Serialize(tw,obj,ns);

我宁愿是,它是作为serlized及其相关类型例如:

serializer.Serialize(TW,(型)目标文件,NS);

这是如何完成的?从动态变量中获取类型转换?

回答

2

不,它会被序列化为适当的类型。

Serialize方法具有object的参数类型,所以即使你可以使这一投,那就没有任何好处。这不像是可以使用编译时类型的通用方法。

如果您认为相关数据未被保留,请发布一个简短但完整的示例来展示此信息。它应该工作正常。

+0

真是一个很好的答案......我得告诉你,因为我在截止日期之前我真的在接受快速回应......谢谢! – 2009-07-15 10:10:51