Какова цель возврата IDisposable в интерфейсе IObservable?

Я просматриваю книгу Head First Design Patterns и делаю все возможное, чтобы преобразовать код из их Java в C#. После того, как в книге обсуждался шаблон наблюдателя, в нем упоминалось, что в Java есть встроенные классы/интерфейсы, как и в .NET4. Итак, я начал исследовать, как правильно его использовать, и я понял большую часть этого, за исключением метода Subscribe () .

Если вы посмотрите на статью MSDN, когда вы попытаетесь подписаться на IObserver, метод вернет IDisposable. Зачем это нужно? Почему бы просто не реализовать метод, который отменяет подписку на IObserver на основе аргумента метода? Я исследовал причину использования интерфейса IDisposable. Я также прочитал это, но не совсем понял разницу/что он пытался мне сказать:

Он возвращает ссылку на интерфейс IDisposable. Это позволяет наблюдателям отписаться (то есть прекратить получать уведомления) до того, как провайдер закончит их отправку и вызовет метод OnCompleted подписчика.

15
задан Community 23 May 2017 в 12:34
поделиться