#c# #wpf #reactiveui
Вопрос:
У ReactiveUI есть множество различных способов создания IObservable
s из существующих источников, таких как другой IObservable
, an IEnumerable
, an event
и т. Д. , Но, насколько я могу судить, у него нет никакого способа на самом деле создать его, что, по вашему мнению, должно быть самым простым возможным случаем!
Кажется очевидным , что должен быть встроенный способ создания объекта, который реализует IObservable<T>
, с помощью какого-то SetNewValue(T value)
метода, который вы можете вызвать, чтобы передать новое значение всем подписчикам. Но я не вижу этого ни в документации, ни в Intellisense.
Я знаю , что с этим можно было бы справиться Observable.FromEvent
, но это похоже на взлом. Я не ищу event
; я ищу объект. Я что-то упускаю? Существует ли это, и я просто не знаю, что искать, или FromEvent
обходной путь-лучшее, что я могу найти?
Ответ №1:
Это называется Предметом (или объектом публикации в реализации Rx на других языках), и он делает именно то, что вы описываете!
Комментарии:
1. Глядя на
Subject
класс, не кажется , что есть какой-либо способ создать его, не имея уже ни одногоIObservable
и ни одногоIObserver
, ни другогоISubject
. То, что я ищу, — это отправная точка, которая не зависит от каких-либо ранее существовавших наблюдаемых объектов.2. вы можете создать тему и просто отправить текст docs.microsoft.com/en-us/previous-versions/dotnet/…
3. @кенни Ах, я смотрел на
Subject
класс. Не видел, что там тоже былSubject<T>
класс. Это полезно, спасибо!4. Также есть Наблюдаемое. Создать