Я пытаюсь использовать ObservableForProperty для нескольких реактивных наблюдаемых последовательностей. Вот код.ObservableForProperty для нескольких реактивных наблюдаемых последовательностей
using ReactiveUI;
public ReactiveUIDerivedClass<T> FName {get; private set;}
public ReactiveUIDerivedClass<T> MName {get; private set;}
public ReactiveUIDerivedClass<T> LName {get; private set;}
FName = new ReactiveUIDerivedClass<T>();
MName = new ReactiveUIDerivedClass<T>();
LName = new ReactiveUIDerivedClass<T>();
Здесь Т System.String. Итак, работает метод ниже.
private void ObserveForPropertyInThreeFields()
{
Observable.CombineLatest(FName.ObservableForProperty(p => p.Value),
MName.ObservableForProperty(p => p.Value),
LName.ObservableForProperty(p => p.Value))
.Where(p => p.All(v => !string.IsNullOrWhiteSpace(v.Value)))
.Subscribe(p => { /* do some stuff */ });
}
Теперь я хочу, чтобы достичь подобного результата, где T для свойств бывают трех разных типов. Когда я использовал Observable.CombineLatest, я получаю следующее сообщение об ошибке.
Аргументы типа для метода 'System.Reactive.Linq.Observable.CombineLatest (System.IObservable, System.IObservable, System.Func)' не может быть выведено из эксплуатации. Попробуйте явно указать аргументы типа.
Любые идеи о том, как мне это сделать ObserveForProperty Изменить для трех свойств разных типов?
Спасибо! Это сработало :) – Butters