Что делать с утилизируемыми IObservers?

Я использую Reactive Extensions для простой обработки событий в моих ViewModels (Silverlight и/или Wp7 приложениях). Для простоты предположим, что в ctor моей VM есть такая строка:

Observable.FromEvent<PropertyChangedEventArgs>(
                            h => MyObject.PropertyChanged += h, 
                            h => MyObject.PropertyChanged -= h)
    .Where(e=>e.PropertyName == "Title")
    .Throttle(TimeSpan.FromSeconds(0.5))
    .Subscribe(e=>{/*do something*/});

this возвращает объект IDisposable, который при утилизации отписывается. (Я прав в этом предположении?)
Если у меня нет ссылки на него, рано или поздно он будет собран, и мой обработчик будет отписан.

У меня обычно есть List в моей VM, и я добавляю в него подписки, но я чувствую себя грязным из-за этого, как будто я делаю что-то не так, как положено в Rx.

Какова лучшая практика, рекомендуемый шаблон в подобных ситуациях?

6
задан Dennis Traub 17 January 2012 в 11:00
поделиться