private static IObservable<IList<BluetoothDeviceInfo>> DiscoverDevices(BluetoothClient bluetoothClient) { return Task.Factory .FromAsync<BluetoothDeviceInfo[]>( (callback, state) => bluetoothClient.BeginDiscoverDevices(byte.MaxValue, true, true, true, false, callback, state), bluetoothClient.EndDiscoverDevices, null) .ToObservable(); }