1

我的计算机有一个正常工作的智能卡读卡器,应该由下面的代码片段返回:

string selector = Windows.Devices.SmartCards.SmartCardReader.GetDeviceSelector();
Windows.Devices.Enumeration.DeviceInformationCollection devices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(selector);

但是,我收到此错误:

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

代码片段复制自微软的 C# 示例代码

我能做些什么来解决这个错误?

4

1 回答 1

4

错误消息为您提供了一个很好的提示,说明出了什么问题。将using System;指令添加到文件的顶部。

为了将来参考,您可以通过在 MSDN 中搜索相关的扩展方法来自行跟踪,例如搜索“IAsyncOperation GetAwaiter 扩展方法”。当我这样做时,第一页是WindowsRuntimeSystemExtensions.GetAwaiter Method (IAsyncOperation),在该页面上您可以看到该方法位于System命名空间中,并在程序集中定义System.Runtime.WindowsRuntime.dll。有了这两条信息,您可以仔细检查以确保您using System;的 .cs 文件中有,并且您System.Runtime.WindowsRuntime.dll在项目中有程序集引用。

于 2016-07-14T02:53:11.383 回答