c# – 修饰符async对此项无效

c# – 修饰符async对此项无效,第1张

概述这似乎与具有相同错误的数百个其他问题重复.我看了他们所有人,发现他们是无关的. 我正在制作一个小笔记应用程序,我正在尝试从目录中读取文件.在MSDN示例之后,我有以下代码,但它给出了一个错误: Error 1 The modifier ‘async’ is not valid for this item C:\Users\Jase\documents\visual studio 2012\Proj 这似乎与具有相同错误的数百个其他问题重复.我看了他们所有人,发现他们是无关的.

我正在制作一个小笔记应用程序,我正在尝试从目录中读取文件.在MSDN示例之后,我有以下代码,但它给出了一个错误:

Error 1 The modifIEr ‘async’ is not valID for this
item C:\Users\Jase\documents\visual studio
2012\Projects\AppnameHere\AppnameHere\DataModel\AppnameHereDataSource.cs 192 9 AppnameHere

我的代码是:

async public NotesDataSource()    {        StorageFolder documentsFolder = KNownFolders.documentslibrary;        StringBuilder outputText = new StringBuilder();        IReadonlyList<Storagefile> fileList =            await documentsFolder.GetfilesAsync();        outputText.Appendline("files:");        foreach (Storagefile file in fileList)        {            if (file.fileType == "txt")            {                outputText.Append(file.name + "\n");            }        }        // lots of irrelevant code removed.    }

我不明白这里发生了什么.我跟着一切都是“T”.有人可以帮忙吗?

谢谢!

解决方法 您的方法签名不正确.看它:

async public NotesDataSource()

首先,异步必须在访问修饰符IIRC之后.

其次,您要么尝试创建异步构造函数(您不能这样做),要么尝试编写没有返回类型的方法(同样无效).

试试这个:

public async Task NotesDataSource()

如果你认为它是一种方法就是这样.如果要有效地创建异步构造函数(或接近它的东西),则必须使用异步静态方法:

public static async Task<NotesDataSource> CreateInstance(){    // Do async stuff here which fetches all the necessary data...    return new NotesDataSource(...);}
总结

以上是内存溢出为你收集整理的c# – 修饰符async对此项无效全部内容,希望文章能够帮你解决c# – 修饰符async对此项无效所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1223510.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存