【问题标题】:Generic XML Serializer deserialize genericallyGeneric XML Serializer 一般反序列化
【发布时间】:2014-06-18 21:07:55
【问题描述】:

我有一个简单的序列化类,用于将我的自定义对象写入磁盘上的 XML:

   public class ReaderWriter
    {
        public static void StoreObjectInformationInFile<T>(T objectToBeWritten, string passedDestinationFileName)
        {
            XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(objectToBeWritten.GetType());
            TextWriter writer = new StreamWriter(passedDestinationFileName);
            serializer.Serialize(writer, objectToBeWritten);
            writer.Close();
        }
    }

有没有办法向这个类添加一个通用反序列化函数,它做同样的事情但相反?像这样:

        public static <T> GetObjectInformationFromFile<T>(string passedDestinationFileName)
        {
            ...
        }

【问题讨论】:

    标签: c# xml generics serialization


    【解决方案1】:

    这里是泛型反序列化方法的原型

    public static T GetObjectInformationFromFile<T>(string passedDestinationFileName)
    {
        var serializer = new XmlSerializer(typeof(T));
        using(var stream = new StreamReader(passedDestinationFileName))
        {
            return (T)serializer.Deserialize(stream);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-30
      相关资源
      最近更新 更多