XmlRootAttribute中的错误,用于C#中的泛型方法

时间:2017-12-10 20:03:20

标签: c# xml generics deserialization

我尝试在序列化后对xml进行反序列化。

方法如下所示:

public List<T> DeSerialize<T>(string Address)
{
    XmlSerializer deserializer = new XmlSerializer(typeof(List<T>), new XmlRootAttribute("ArrayOfClassName"));
    List <T> result;

    using (FileStream fileStream = new FileStream(@Folder + Address + ".xml", FileMode.Open))
    {
        result = (List<T>)deserializer.Deserialize(fileStream);
    }

    return result;
}

只要我让

,它就有效
XmlRootAttribute("ArrayOfClassName")

是预先定义的字符串。 一旦我将其更改为更通用的方式,如:

XmlRootAttribute(typeof(List<T>).Name)

XmlRootAttribute("ArrayOf" + typeof(T).Name)

我确实

  

System.InvalidOperationException:&#34; XML中存在错误   文件(1,2)&#34;使用InvalidOperationException:不是预期的提示。

我在这里做错了什么?

0 个答案:

没有答案