我的计算机有一个正常工作的智能卡读取器,应该由下面的代码片段返回:
string selector = Windows.Devices.SmartCards.SmartCardReader.GetDeviceSelector();
Windows.Devices.Enumeration.DeviceInformationCollection devices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(selector);
但是,我得到了这个错误:
Error CS4036 '
IAsyncOperation<DeviceInformationCollection>
‘不包含'GetAwaiter
’的定义,也找不到接受'IAsyncOperation<DeviceInformationCollection>
‘类型的第一个参数的扩展方法'GetAwaiter
’(您是否遗漏了‘System
’的使用指令?)
代码片段是从微软的C#示例代码复制的。
我能做些什么来解决这个错误?
发布于 2016-07-14 02:53:11
错误信息给你一个很好的提示什么是错的。将using System;
指令添加到文件的顶部。
作为将来的参考,您可以通过搜索MSDN查找所讨论的扩展方法,例如搜索"IAsyncOperation GetAwaiter扩展方法“来跟踪这一点。当我这样做时,第一个页面是WindowsRuntimeSystemExtensions.GetAwaiter方法(IAsyncOperation),在该页面上,您可以看到该方法位于System
命名空间中,并在System.Runtime.WindowsRuntime.dll
程序集中定义。使用这两部分信息,您可以反复检查以确保您的.cs文件中有.cs,并且项目中有System.Runtime.WindowsRuntime.dll
程序集引用。
https://stackoverflow.com/questions/38364683
复制相似问题