GetAwaiter未使用系统

时间:2020-04-20 17:31:45

标签: c# wpf async-await reference

我有示例代码和当前正在编写的代码。两组都具有完全相同的参考。我从GitHub获得的示例代码HeartRateLE可以编译并运行良好。由于

,我正在处理的代码无法编译

此代码

IAsyncOperation<BluetoothLEDevice>  myTask =
              BluetoothLEDevice.FromIdAsync(deviceId);
var device = myTask.GetAwaiter().GetResults();

,因为GetAwaiter没有使用System进行引用;实际使用系统;班级顶部的灰色显示为未使用。

两者都具有系统参考,并且都具有相同的路径 C:\ Program Files(x86)\ Reference Assemblys \ Microsoft \ Framework.NETFramework \ v4.8 \ System.dll

两者都具有Windows.WinMD的引用,并且具有相同的路径 C:\ Program Files(x86)\ Windows Kits \ 10 \ UnionMetadata \ Facade \ Windows.WinMD

这是GetAwaiter的错误

错误CS4036 'IAsyncOperation<BluetoothLEDevice>'不包含'GetAwaiter'的定义,并且找不到扩展类型'GetAwaiter'接受类型'IAsyncOperation<BluetoothLEDevice>'的第一个参数(您是否缺少'System的using指令? '?)

我想知道如何解决它,以便GetAwaiter引用系统。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

在下面使用添加的内容,它来自System.Runtime.WindowsRuntime程序集,并包含具有GetAwaiter扩展名的类。

使用System.WindowsRuntimeSystemExtensions;