我有示例代码和当前正在编写的代码。两组都具有完全相同的参考。我从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引用系统。
答案 0 :(得分:0)
使用System.WindowsRuntimeSystemExtensions;
更多信息
答案 1 :(得分:0)
在下面使用添加的内容,它来自System.Runtime.WindowsRuntime程序集,并包含具有GetAwaiter扩展名的类。
使用System.WindowsRuntimeSystemExtensions;