需要使用异步等待语句等待操作完成后再访问返回的对象。具体代码示例如下:
var deviceInformationCollection = await DeviceInformation.FindAllAsync(GattDeviceService.GetDeviceSelectorFromUuid(Constants.SampleServiceUuid));
if (deviceInformationCollection.Count > 0)
{
var bleDevice = await BluetoothLEDevice.FromIdAsync(deviceInformationCollection[0].Id);
if (bleDevice != null)
{
// 在这里使用 bleDevice,例如读取属性等
}
}
可以看到,await
关键字将等待操作完成后再继续执行代码,从而可以正确访问返回的对象。