Можно ли слить IObservables из класса, который их создает?Например, свойство, которое я назначаю этой цепочке, будет публичным?
Да.
Соответствует ли имя свойства ChangeObservable тому, что большинство людей считают оптимальной практикой при использовании реактивных расширений .net?
Субъективный вопрос.Может быть FileChanges
?Тот факт, что это наблюдаемое, ясно из типа.
Нужно ли вызывать Dispose для какой-либо из моих подписок на эту цепочку, или это достаточно безопасно, чтобы оставить все вплоть до сборки мусора, когдасодержащий класс выходит из области видимости?
ChangeObservable.Subscribe
в конце может жить вечно, не позволяя объекту собирать мусор при подписке на событие, хотя это также может быть вашим намерением.Операторские подписки, как правило, в порядке.Я не вижу код для ваших ChangedAsObservable
подобных функций.Если они не включают Subscribe
или подписку на события, они, вероятно, тоже подойдут.
Имейте в виду, я наблюдаю за событиями от наблюдателя, поэтому есть некоторый общий жизненный цикл там,
Поскольку FileWatcher
реализует IDisposable
, вам, вероятно, следует использовать Observable.Using
вокруг него, чтобы вы могли комбинировать жизненные циклы.
Можно ли взять наблюдаемоеи подключить их к событию в моем собственном классе (изменено в приведенном выше примере), или это идея остаться вне родной системы событий .net и пропустить мой IObservable?
Я бы предпочелостаться в Rx.Проблема с подписками на события заключается в том, что они обычно живут вечно.Вы теряете возможность контролировать жизненный цикл подписки.Они также чувствуют себя намного примитивнее.Но опять же, это немного субъективно.