【发布时间】:2012-09-11 20:49:28
【问题描述】:
我正在尝试在 Metro 应用程序中使用已创建的数据库(sqlite 文件)。 我正在使用 C# 和 Sqlite-net。我有用于 WinRT 的 SQlite。
尝试了 Tim Heuer 方法,但无法编译。 await 运算符只能在异步方法中使用。考虑使用“异步”修饰符标记此方法并将其返回类型更改为“任务”。 同样的第二次我再次使用等待。
【问题讨论】:
我正在尝试在 Metro 应用程序中使用已创建的数据库(sqlite 文件)。 我正在使用 C# 和 Sqlite-net。我有用于 WinRT 的 SQlite。
尝试了 Tim Heuer 方法,但无法编译。 await 运算符只能在异步方法中使用。考虑使用“异步”修饰符标记此方法并将其返回类型更改为“任务”。 同样的第二次我再次使用等待。
【问题讨论】:
您可能会发现我的async/await intro 很有帮助。
在您的具体情况下,我建议您按照错误消息所述执行操作:标记方法 async 并将返回类型更改为 Task 或 Task<T>(除非它是事件处理程序)。
【讨论】:
async 方法更新您的原始问题。
async Task 而不是async void。关于 Metro,您可能希望将数据加载到内存中的 ViewModel 中(例如,ObservableCollection<T>),然后使用数据绑定。 Google for MVVM (Model-View-ViewModel),你会发现很多热门。