You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现UWP USB接口示例时遇两类代码错误求助

针对UWP USB接口示例代码的两个错误修复方案

错误1:未赋值的局部变量'device'

代码foreach (var interf in device.Configuration.UsbInterfaces)报错,核心原因是device变量未初始化就被调用属性。你需要先通过UWP USB设备API获取有效的UsbDevice实例,再进行后续操作:

// 先通过设备选择器或DeviceWatcher获取目标USB设备的ID
string targetDeviceId = "你的USB设备ID";
UsbDevice device = await UsbDevice.FromIdAsync(targetDeviceId);

// 必须先判断device不为null,再访问其内部属性
if (device != null)
{
    foreach (var interf in device.Configuration.UsbInterfaces)
    {
        // 执行你的业务逻辑
    }
}

错误2:无法将null转换为out参数

UsbInterfaceDescriptor.TryParse的第二个参数是out类型参数,不允许传入null。你需要声明一个UsbInterfaceDescriptor变量作为接收对象,即使后续不需要使用该变量,也必须传入:

UsbInterfaceDescriptor tempDescriptor;
if (descriptors.Count >= 2 && UsbInterfaceDescriptor.TryParse(descriptors[0], out tempDescriptor) && descriptors[1].Length == 0x0D && descriptors[1].DescriptorType == 0x24)
{
    // 执行你的业务逻辑
}

如果不需要保留解析后的结果,也可以用C#的丢弃符号_简化代码:

if (descriptors.Count >= 2 && UsbInterfaceDescriptor.TryParse(descriptors[0], out _) && descriptors[1].Length == 0x0D && descriptors[1].DescriptorType == 0x24)
{
    // 执行你的业务逻辑
}

内容的提问来源于stack exchange,提问作者Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:52:01