在UWP中读取XML文件时,如何显式指定类型参数



我正在开发一个UWP应用程序,需要在该应用程序中向设备读写XML文件。我花了一段时间搜索才找到一个教程,它涵盖了基本知识,足以让我"有点"理解它。这个教程将对象序列化/反序列化为XML文件(Windows Universal应用程序8.1)有一个简洁的例子,根据注释应该可以用。然而,当我F5它时,我得到了这个错误方法的类型参数无法从用法中推断出来。请尝试显式指定类型参数

这条线上出现错误

Robot robot2 = await XmlIO.XmlRW.ReadObjectFromXmlFileAsync("robbie.xml");

它指向的方法就是这个

    public static async Task<T> ReadObjectFromXmlFileAsync<T>(string filename)
    {
        // this reads XML content from a file ("filename") 
        // and returns an object  from the XML
        T objectFromXml = default(T);
        var serializer = new XmlSerializer(typeof(T));
        StorageFolder folder = ApplicationData.Current.LocalFolder;
        StorageFile file = await folder.GetFileAsync(filename);
        Stream stream = await file.OpenStreamForReadAsync();
        objectFromXml = (T)serializer.Deserialize(stream);
        stream.Dispose();
        return objectFromXml;
    }

我想也许我需要更改Task<T>到任务<string>但我也做不到。那么,我需要做些什么来显式地指定类型参数呢?

编译器无法确定t的类型。您需要显式指定它:

Robot robot2 = await XmlIO.XmlRW.ReadObjectFromXmlFileAsync<Robot>("robbie.xml");

最新更新