2016-09-20 2 views
0

Мне нужно преобразовать мой IObservable<MyObject> (исходя из Akavache) в другой IObservable, в моем случае, если IObservable<bool>.Преобразование IObservable <MyObject> в IObservable <bool>

У меня нет понятия, как это сделать. Следующий фрагмент кода, очевидно, неверен ... Можете ли вы дать мне несколько советов, чтобы понять это правильно?

public IObservable<bool> IsMyObjectGreat() { 
    var newObservable = GetMyObject().Subscribe<MyObject>((obj) => { 
     if(obj?.Count > 5) { 
      // set true in my observable 
     } 
     // set false in my new observable 
    }); 
    return newObservable; 
} 
+1

Это довольно легко, если 'GetMyObject'is наблюдаемое. Просто 'map' it: ' GetMyObject(). Map ((obj) => obj.Count> 5) ' –

+0

Спасибо Luka! Но он здесь не работает, потому что я не могу назвать 'IObservable.map (..)' Мне нужно импортировать что-то вроде Linq? Или, возможно, у вас есть Java или F #? – ChornHulio

+0

Да, извините! Я имел в виду «Выбрать». Он называется «карта» во всех других реализациях Rx. –

ответ

0
GetMyObject().Select(obj => { if (obj?.Count > 5) { return true; } return false; }).AsObservable(); 
+0

Спасибо Даниэле! Работаю как шарм! :) – ChornHulio

Смежные вопросы