
我正在制作一个小笔记应用程序,我正在尝试从目录中读取文件.在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对此项无效所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)