无法将类型 Windows.Devices.Enumeration.DeviceWatcher 隐式转换为 DeviceWatcher
Cannot implicitly convert type Windows.Devices.Enumeration.DeviceWatcher to DeviceWatcher
我正在构建一个 IoT 应用程序,它需要检测何时插入和移除可移动设备。尝试创建 DeviceWatcher 对象时出现以下错误。
DeviceWatcher.CreateWatcher()
方法的类型为 DeviceWatcher
。为什么我会收到此错误?
我不确定问题出在哪里,也不知道如何解决。任何人都可以在这里提供见解吗?
DeviceWatcher watcher = DeviceInformation.CreateWatcher(DeviceClass.PortableStorageDevice);
错误:
无法将类型 'Windows.Devices.Enumeration.DeviceWatcher' 隐式转换为 'NamespaceName.DeviceWatcher'
申请类型:
Windows 10 后台应用程序。周年纪念版。
能力清单:
可移动存储
尝试隐式变量声明:
var watcher = DeviceInformation.CreateWatcher(DeviceClass.PortableStorageDevice);
进一步说明
通过隐式声明,您实际上是让编译器发挥它的魔力(智能猜测)并派生变量的类型,根据右侧返回的数据类型进行声明。基本上你的错误是假设 watcher
变量应该是 DeviceWatcher
类型,但事实并非如此。至少不是你输入的那个。您的 using
语句中可能存在冲突,并且 DeviceWatcher
默认为不同于 Windows.Devices.Enumeration.DeviceWatcher
的内容,后者是 DeviceInformation.CreateWatcher()
返回的正确类型
使用 var
是一种选择。您还可以明确指定命名空间:
Windows.Devices.Enumeration.DeviceWatcher watcher = DeviceInformation.CreateWatcher(DeviceClass.PortableStorageDevice);
我正在构建一个 IoT 应用程序,它需要检测何时插入和移除可移动设备。尝试创建 DeviceWatcher 对象时出现以下错误。
DeviceWatcher.CreateWatcher()
方法的类型为 DeviceWatcher
。为什么我会收到此错误?
我不确定问题出在哪里,也不知道如何解决。任何人都可以在这里提供见解吗?
DeviceWatcher watcher = DeviceInformation.CreateWatcher(DeviceClass.PortableStorageDevice);
错误:
无法将类型 'Windows.Devices.Enumeration.DeviceWatcher' 隐式转换为 'NamespaceName.DeviceWatcher'
申请类型:
Windows 10 后台应用程序。周年纪念版。
能力清单:
可移动存储
尝试隐式变量声明:
var watcher = DeviceInformation.CreateWatcher(DeviceClass.PortableStorageDevice);
进一步说明
通过隐式声明,您实际上是让编译器发挥它的魔力(智能猜测)并派生变量的类型,根据右侧返回的数据类型进行声明。基本上你的错误是假设 watcher
变量应该是 DeviceWatcher
类型,但事实并非如此。至少不是你输入的那个。您的 using
语句中可能存在冲突,并且 DeviceWatcher
默认为不同于 Windows.Devices.Enumeration.DeviceWatcher
的内容,后者是 DeviceInformation.CreateWatcher()
使用 var
是一种选择。您还可以明确指定命名空间:
Windows.Devices.Enumeration.DeviceWatcher watcher = DeviceInformation.CreateWatcher(DeviceClass.PortableStorageDevice);