在 UWP 中读取 XML 文件时如何明确指定类型参数

How do I specify a type argument explicitly when reading an XML file in UWP

我正在开发一个 UWP 应用程序,我需要在其中读取 XML 文件并将其写入设备。我花了一段时间搜索,才找到涵盖基础知识的教程,足以让我 "sort of" 理解它。本教程 Serialize/Deserialize an Object to an XML File (Windows Universal apps 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 > 更改为 Task < string >,但我也无法做到这一点。那么我需要做什么来显式指定类型参数?

编译器无法确定 T 的类型。您需要明确指定它:

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