Поделиться через


Интерфейс IConnectableObservable<T>

Представляет наблюдаемое, которое может быть подключено и отключено.

пространство имен :System.Reactive.Темы
сборка : System.Reactive (в System.Reactive.dll)

Синтаксис

'Declaration
Public Interface IConnectableObservable(Of Out T) _
    Inherits IObservable(Of T)
'Usage
Dim instance As IConnectableObservable(Of Out T)
public interface IConnectableObservable<out T> : IObservable<T>
generic<typename T>
public interface class IConnectableObservable : IObservable<T>
type IConnectableObservable<'T> =  
    interface
        interface IObservable<'T>
    end
JScript does not support generic types and methods.

Параметры типа

  • outT
    Тип.

    Этот параметр типа является ковариантным. То есть можно использовать указанный тип или любой тип, который является более производным. Дополнительные сведения о ковариации и контравариации см. в .

Тип> IConnectableObservable<T предоставляет следующие элементы.

Методика

  Имя Описание
Public method Connect Подключает наблюдаемый объект.
Public method подписка (Наследуется от IObservable<T>.)

Вверх

Методы расширения

  Имя Описание
метод общедоступного расширения Агрегатная<T>(Func<T, T, T> ) Перегруженные. Применяет функцию аккумулятора к наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения Агрегатные<T, TAccumulate>(TAccumulate, Func<TAccumulate, T, TAccumulate>) Перегруженные. Применяет функцию аккумулятора к наблюдаемой последовательности с указанным начальным значением. (Определяется наблюдаемым.)
метод общедоступного расширения Все<T> Определяет, соответствуют ли все элементы наблюдаемой последовательности условию. (Определяется наблюдаемым.)
метод общедоступного расширения Amb<T> Распространяет наблюдаемую последовательность, которая реагирует сначала с указанной первой и второй последовательностью. (Определяется наблюдаемым.)
метод общедоступного расширения И<T, TRight> Совпадает, если обе наблюдаемые последовательности имеют доступное значение. (Определяется наблюдаемым.)
метод общедоступного расширения Любые<T>() Перегруженные. Определяет, содержит ли наблюдаемая последовательность любые элементы. (Определяется наблюдаемым.)
метод общедоступного расширения Любой<T>(Func<T, логический>) Перегруженные. Определяет, соответствуют ли все элементы наблюдаемой последовательности условию. (Определяется наблюдаемым.)
метод общедоступного расширения AsObservable<T> Скрывает удостоверение наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения AsQbservable<T> Преобразует наблюдаемую последовательность в запрашиваемую наблюдаемую последовательность. (Определяется Qbservable.)
метод общедоступного расширения AssertEqual<T> (Определяется расширениями .)
метод общедоступного расширения буфер<T>(Int32) Перегруженные. Указывает каждый элемент наблюдаемой последовательности в последовательные не перекрывающиеся буферы, создаваемые на основе сведений о количестве элементов. (Определяется наблюдаемым.)
метод общедоступного расширения Буфер<T>(TimeSpan) Перегруженные. Указывает каждый элемент наблюдаемой последовательности в последовательные не перекрывающиеся буферы, создаваемые на основе сведений о времени. (Определяется наблюдаемым.)
метод общедоступного расширения буфера<T>(Int32, Int32) Перегруженные. Указывает каждый элемент наблюдаемой последовательности в ноль или больше буферов, создаваемых на основе сведений о количестве элементов. (Определяется наблюдаемым.)
метод общедоступного расширения буфер<T>(TimeSpan, IScheduler) Перегруженные. Указывает каждый элемент наблюдаемой последовательности в последовательные не перекрывающиеся буферы, создаваемые на основе сведений о времени. (Определяется наблюдаемым.)
метод общедоступного расширения буфер<T>(TimeSpan, TimeSpan) Перегруженные. Указывает каждый элемент наблюдаемой последовательности на ноль или больше буферов, создаваемых на основе сведений о времени. (Определяется наблюдаемым.)
метод общедоступного расширения буфер<T>(TimeSpan, Int32) Перегруженные. Указывает каждый элемент наблюдаемой последовательности в буфер, отправляемый при заполнении или заданном времени. (Определяется наблюдаемым.)
метод общедоступного расширения буфер<T>(TimeSpan, TimeSpan, IScheduler) Перегруженные. Указывает каждый элемент наблюдаемой последовательности на ноль или больше буферов, создаваемых на основе сведений о времени. (Определяется наблюдаемым.)
метод общедоступного расширения буфер<T>(TimeSpan, Int32, IScheduler) Перегруженные. Указывает каждый элемент наблюдаемой последовательности в буфер, отправляемый при заполнении или заданном времени. (Определяется наблюдаемым.)
метод общедоступного расширения буфер<T, TBufferClosing>(Func<IObservable<TBufferClosing>>) Перегруженные. Указывает каждый элемент наблюдаемой последовательности в последовательные не перекрывающиеся буферы. (Определяется наблюдаемым.)
метод общедоступного расширения буфер<T, TBufferOpening, TBufferClosing>(IObservable<TBufferOpening>, Func<TBufferOpening, IObservable<TBufferClosing>>) Перегруженные. Указывает каждый элемент запрашиваемой наблюдаемой последовательности в последовательные не перекрывающиеся буферы. (Определяется наблюдаемым.)
метод общедоступного расширения Catch<T>(IObservable<T>) Перегруженные. Продолжает наблюдаемую последовательность, которая завершается исключением со следующей наблюдаемой последовательностью. (Определяется наблюдаемым.)
метод общедоступного расширения Catch<T, TException>(Func<TException, IObservable<T>>) Перегруженные. Продолжает наблюдаемую последовательность, которая завершается исключением указанного типа с наблюдаемой последовательностью, созданной обработчиком. (Определяется наблюдаемым.)
метод общедоступного расширения CombineLatest<T, TSecond, TResult> Объединяет две наблюдаемые последовательности в одну наблюдаемую последовательность с помощью функции селектора всякий раз, когда одна из наблюдаемых последовательностей создает элемент. (Определяется наблюдаемым.)
метод общедоступного расширения Конката<T> Объединяет две наблюдаемые последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения содержит<T>(T) Перегруженные. Определяет, содержит ли наблюдаемая последовательность указанный элемент с помощью средства сравнения равенства по умолчанию. (Определяется наблюдаемым.)
метод общедоступного расширения содержит<T>(T, IEqualityComparer<T>) Перегруженные. Определяет, содержит ли наблюдаемая последовательность указанный элемент с помощью указанного объекта System.Collections.Generic.IEqualityComparer< T>. (Определяется наблюдаемым.)
метод общедоступного расширения счетчик<T> Возвращает Int32, представляющую общее количество элементов в наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения DefaultIfEmpty<T>() Перегруженные. Возвращает элементы указанной последовательности или значение параметра типа по умолчанию в однотонной последовательности, если последовательность пуста. (Определяется наблюдаемым.)
метод общедоступного расширения DefaultIfEmpty<T>(T) Перегруженные. Возвращает элементы указанной последовательности или значение параметра типа по умолчанию в однотонной последовательности, если последовательность пуста. (Определяется наблюдаемым.)
метод общедоступного расширения задержка<T>(timeSpan) Перегруженные. Указывает наблюдаемую последовательность по времени с указанным источником и dueTime. (Определяется наблюдаемым.)
метод общедоступного расширения задержка<T>(DateTimeOffset) Перегруженные. Указывает наблюдаемую последовательность по времени с указанным источником и dueTime. (Определяется наблюдаемым.)
метод общедоступного расширения задержка<T>(TimeSpan, IScheduler) Перегруженные. Указывает наблюдаемую последовательность по времени выполнения с указанным источником, dueTime и планировщиком. (Определяется наблюдаемым.)
метод общедоступного расширения задержка<T>(DateTimeOffset, IScheduler) Перегруженные. Указывает наблюдаемую последовательность по времени выполнения с указанным источником, dueTime и планировщиком. (Определяется наблюдаемым.)
метод общедоступного расширения > > < Перегруженные. Возвращает наблюдаемую последовательность, содержащую только отдельные элементы с указанным источником. (Определяется наблюдаемым.)
метод общедоступного расширения <T>(IEqualityComparer<T>) Перегруженные. Возвращает наблюдаемую последовательность, содержащую только отдельные элементы в соответствии с компратером. (Определяется наблюдаемым.)
метод общедоступного расширения Уникальные<T, TKey>(Func<T, TKey>) Перегруженные. Возвращает наблюдаемую последовательность, содержащую только отдельные элементы в соответствии с ключомSelector. (Определяется наблюдаемым.)
метод общедоступного расширения Distinct<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Перегруженные. Возвращает наблюдаемую последовательность, содержащую только отдельные элементы в соответствии с ключомSelector. (Определяется наблюдаемым.)
метод общедоступного расширения DistinctUntilChanged<T>() Перегруженные. Возвращает наблюдаемую последовательность, содержащую только отдельные смежные элементы с указанным источником. (Определяется наблюдаемым.)
метод общедоступного расширения DistinctUntilChanged<T>(IEqualityComparer<T>) Перегруженные. Возвращает наблюдаемую последовательность, содержащую только отдельные смежные элементы в соответствии с сравнивателем. (Определяется наблюдаемым.)
метод общедоступного расширения DistinctUntilChanged<T, TKey>(Func<T, TKey>) Перегруженные. Возвращает наблюдаемую последовательность, содержащую только отдельные смежные элементы в соответствии с ключом. (Определяется наблюдаемым.)
метод общедоступного расширения DistinctUntilChanged<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Перегруженные. Возвращает наблюдаемую последовательность, которая содержит только отдельные смежные элементы в соответствии с ключомSelector и компратором. (Определяется наблюдаемым.)
метод общедоступного расширения <T>(действие<T>) Перегруженные. Вызывает действие для каждого элемента в наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения <T>(IObserver<T>) Перегруженные. Вызывает действие для каждого элемента в наблюдаемой последовательности и вызывает действие при исключительном завершении наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения <T>(действие<T>, действие) Перегруженные. Вызывает действие для каждого элемента в наблюдаемой последовательности и вызывает действие при корректном завершении наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения <T>(действие<T>, действие<исключения>) Перегруженные. Вызывает действие для каждого элемента в наблюдаемой последовательности и вызывает действие при исключительном завершении наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения <T>(действие<T>, действие<исключения>, действие) Перегруженные. Вызывает действие для каждого элемента в наблюдаемой последовательности и вызывает действие при корректном или исключительном завершении наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения ElementAt<T> Возвращает элемент по указанному индексу в последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения ElementAtOrDefault<T> Возвращает элемент по указанному индексу в последовательности или значении по умолчанию, если индекс выходит из диапазона. (Определяется наблюдаемым.)
метод общедоступного расширения , наконец,<T> Вызывает указанное действие после того, как исходная наблюдаемая последовательность завершается обычно или по исключению. (Определяется наблюдаемым.)
метод общедоступного расширения Первый<T>() Перегруженные. Возвращает первый элемент наблюдаемой последовательности с указанным источником. (Определяется наблюдаемым.)
метод общедоступного расширения First<T>(Func<T, Boolean>) Перегруженные. Возвращает первый элемент наблюдаемой последовательности, соответствующий предикату. (Определяется наблюдаемым.)
метод общедоступного расширения FirstOrDefault<T>() Перегруженные. Возвращает первый элемент наблюдаемой последовательности или значение по умолчанию, если значение не найдено. (Определяется наблюдаемым.)
метод общедоступного расширения FirstOrDefault<T>(Func<T, логический>) Перегруженные. Возвращает первый элемент наблюдаемой последовательности, соответствующий предикату, или значение по умолчанию, если значение не найдено. (Определяется наблюдаемым.)
метод общедоступного расширения Foo<T, R> (Определяется MyExt.)
метод общедоступного расширения ForEach<T> Вызывает действие для каждого элемента в наблюдаемой последовательности и блокируется до завершения последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения GetEnumerator<T> Возвращает перечислитель, перечисляющий все значения наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения GroupBy<T, TKey>(Func<T, TKey>) Перегруженные. Группируйте элементы наблюдаемой последовательности в соответствии с указанной функцией селектора ключей. (Определяется наблюдаемым.)
метод общедоступного расширения GroupBy<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Перегруженные. Группируйте элементы наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и компратором. (Определяется наблюдаемым.)
метод общедоступного расширения GroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>) Перегруженные. Группирует элементы наблюдаемой последовательности и выбирает результирующий элемент с помощью указанной функции. (Определяется наблюдаемым.)
метод общедоступного расширения GroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>) Перегруженные. Группирует элементы наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и компратором и выбирает результирующий элемент с помощью указанной функции. (Определяется наблюдаемым.)
метод общедоступного расширения GroupByUntil<T, TKey, TDuration>(Func<T, TKey>, Func<IGroupedObservable<TKey, T>, IObservable<TDuration>>) Перегруженные. Группируйте элементы наблюдаемой последовательности в соответствии с указанной функцией селектора ключей. (Определяется наблюдаемым.)
метод общедоступного расширения GroupByUntil<T, TKey, TDuration>(Func<T, TKey>, Func<IGroupedObservable<TKey, T>, IObservable<TDuration>>, IEqualityComparer<TKey>) Перегруженные. Группируйте элементы наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и компратором. (Определяется наблюдаемым.)
метод общедоступного расширения GroupByUntil<T, TKey, TElement, TDuration>(Func<T, TKey>, Func<T, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>) Перегруженные. Группирует элементы наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и выбирает результирующий элемент с помощью указанной функции. (Определяется наблюдаемым.)
метод общедоступного расширения GroupByUntil<T, TKey, TElement, TDuration>(Func<T, TKey>, Func<T, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>, IEqualityComparer<TKey>) Перегруженные. Группирует элементы наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и компратором и выбирает результирующий элемент с помощью указанной функции. (Определяется наблюдаемым.)
метод общедоступного расширения GroupJoin<T, TRight, TLeftDuration, TRightDuration, TResult> Сопоставляет элементы двух последовательностей на основе перекрывающихся длительностей и группирует результаты. (Определяется наблюдаемым.)
метод общедоступного расширения IgnoreElements<T> Игнорирует все значения в наблюдаемой последовательности, оставляя только сообщения о завершении. (Определяется наблюдаемым.)
метод общедоступного расширения Join<T, TRight, TLeftDuration, TRightDuration, TResult> Сопоставляет элементы двух последовательностей на основе перекрывающихся длительностей. (Определяется наблюдаемым.)
метод общедоступного расширения последний<T>() Перегруженные. Возвращает последний элемент наблюдаемой последовательности с указанным источником. (Определяется наблюдаемым.)
метод общедоступного расширения последний<T>(Func<T, логический>) Перегруженные. Возвращает последний элемент наблюдаемой последовательности, которая соответствует предикату. (Определяется наблюдаемым.)
метод общедоступного расширения LastOrDefault<T>() Перегруженные. Возвращает последний элемент в наблюдаемой последовательности или значение по умолчанию, если значение не найдено. (Определяется наблюдаемым.)
метод общедоступного расширения LastOrDefault<T>(Func<T, логический>) Перегруженные. Возвращает последний элемент наблюдаемой последовательности, соответствующий предикату, или значение по умолчанию, если значение не найдено. (Определяется наблюдаемым.)
метод общедоступного расширения последние<T> Примеры последнего значения в наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения LongCount<T> Возвращает int64, представляющий общее количество элементов в наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения Материализуйте<T> Материализует неявные уведомления наблюдаемой последовательности как явные значения уведомлений. (Определяется наблюдаемым.)
метод общедоступного расширения Max<T>() Перегруженные. Возвращает максимальный элемент в наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения Max<T>(IComparer<T>) Перегруженные. Возвращает максимальное значение в наблюдаемой последовательности в соответствии с указанным сравнивателем. (Определяется наблюдаемым.)
метод общедоступного расширения MaxBy<T, TKey>(Func<T, TKey>) Перегруженные. Возвращает элементы в наблюдаемой последовательности с максимальным значением ключа. (Определяется наблюдаемым.)
метод общедоступного расширения MaxBy<T, TKey>(Func<T, TKey>, IComparer<TKey>) Перегруженные. Возвращает элементы в наблюдаемой последовательности с максимальным значением ключа. (Определяется наблюдаемым.)
метод общедоступного расширения Слияние<T>(IObservable<T>) Перегруженные. Объединяет наблюдаемую последовательность наблюдаемых последовательностей в наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения Слияние<T>(IObservable<T>, IScheduler) Перегруженные. Объединяет две наблюдаемые последовательности в одну наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения мин<T> Перегруженные. Возвращает минимальный элемент в наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения мин<T>(IComparer<T>) Перегруженные. Возвращает минимальное значение в наблюдаемой последовательности в соответствии с указанным сравнивателем. (Определяется наблюдаемым.)
метод общедоступного расширения MinBy<T, TKey>(Func<T, TKey>) Перегруженные. Возвращает элементы в наблюдаемой последовательности с минимальным значением ключа. (Определяется наблюдаемым.)
метод общедоступного расширения MinBy<T, TKey>(Func<T, TKey>, IComparer<TKey>) Перегруженные. Возвращает элементы в наблюдаемой последовательности с минимальным значением ключа в соответствии с указанным сравнивателем. (Определяется наблюдаемым.)
метод общедоступного расширения MostRecent<T> Примеры последнего значения в наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения многоадресной рассылки<T, TResult>(ISubject<T, TResult>) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая при подключении приводит к отправке результатов исходной последовательности в указанную тему. (Определяется наблюдаемым.)
метод общедоступного расширения Multicast<T, TIntermediate, TResult>(Func<ISubject<T, TIntermediate>>, Func<IObservable<TIntermediate>, IObservable<TResult>>) Перегруженные. Возвращает наблюдаемую последовательность, содержащую элементы последовательности, созданной путем многоадресной рассылки исходной последовательности в функции селектора. (Определяется наблюдаемым.)
метод общедоступного расширения следующей<T> Примеры следующего значения (блокировка без буферизации) из наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения ObserveOn<T>(SynchronizationContext) Перегруженные. Асинхронно уведомлять наблюдателей о указанном контексте синхронизации. (Определяется наблюдаемым.)
метод общедоступного расширения ObserveOn<T>(Control) Перегруженные. (Определяется ControlObservable.)
метод общедоступного расширения ObserveOn<T>(диспетчер) Перегруженные. (Определяется DispatcherObservable.)
метод общедоступного расширения ObserveOn<T>(DispatcherScheduler) Перегруженные. (Определяется DispatcherObservable.)
метод общедоступного расширения ObserveOn<T>(IScheduler) Перегруженные. Асинхронно уведомлять наблюдателей по указанному планировщику. (Определяется наблюдаемым.)
метод общедоступного расширения ObserveOnDispatcher<T> (Определяется DispatcherObservable.)
метод общедоступного расширения OnErrorResumeNext<T> Продолжает наблюдаемую последовательность, которая завершается обычно или исключением с следующей наблюдаемой последовательностью. (Определяется наблюдаемым.)
метод общедоступного расширения публикации<T>() Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая использует одну подписку в базовой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения публикации<T>(T) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая использует одну подписку для базовой последовательности и начинается с initialValue. (Определяется наблюдаемым.)
метод общедоступного расширения публикации<T, TResult>(Func<IObservable<T>, IObservable<TResult>>) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая предоставляет одну подписку базовой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения публикации<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, T) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая использует одну подписку для базовой последовательности и начинается с initialValue. (Определяется наблюдаемым.)
метод общедоступного расширения PublishLast<T>() Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая использует одну подписку в базовой последовательности, содержащей только последнее уведомление. (Определяется наблюдаемым.)
метод общедоступного расширения PublishLast<T, TResult>(Func<IObservable<T>, IObservable<TResult>>) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая использует одну подписку на базовую последовательность, содержащую только последнее уведомление. (Определяется наблюдаемым.)
метод общедоступного расширения RefCount<TSource> Возвращает наблюдаемую последовательность, которая остается подключенной к источнику до тех пор, пока есть по крайней мере одна подписка на наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения повторить<T>() Перегруженные. Повторяет наблюдаемую последовательность на неопределенный срок. (Определяется наблюдаемым.)
метод общедоступного расширения повторять<T>(Int32) Перегруженные. Повторяет наблюдаемую последовательность на неопределенный срок. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведение<T>() Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая разделяет одну подписку на базовую последовательность, переразив все уведомления. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T>(TimeSpan) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая разделяет одну подписку на базовую последовательность, переразив все уведомления в окне. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T>(Int32) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая использует одну подписку для базовой повторной отправки уведомлений bufferSize. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T>(IScheduler) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая разделяет одну подписку на базовую последовательность, переразив все уведомления. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T>(TimeSpan, IScheduler) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая разделяет одну подписку на базовую последовательность, переразив все уведомления в окне. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T>(Int32, IScheduler) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая использует одну подписку для базовой повторной отправки уведомлений bufferSize. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T>(Int32, TimeSpan) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая использует одну подписку для базовой повторной отправки буферов буфераSize в окне. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T>(Int32, TimeSpan, IScheduler) Перегруженные. Возвращает подключаемую наблюдаемую последовательность, которая использует одну подписку для базовой повторной отправки буферов буфераSize в окне. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T, TResult>(Func<IObservable<T>, IObservable<TResult>>) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая предоставляет одну подписку базовой последовательности и начинается с начального значения. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, IScheduler) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая использует одну подписку на базовую последовательность, переразив все уведомления. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, TimeSpan) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая разделяет одну подписку на базовую последовательность, повторяющую все уведомления в окне. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, Int32) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая использует одну подписку для базовой повторяющейся буферизации уведомлений. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, TimeSpan, IScheduler) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая разделяет одну подписку на базовую последовательность, повторяющую все уведомления в окне. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, Int32, IScheduler) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая использует одну подписку для базовой повторяющейся буферизации уведомлений. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, Int32, TimeSpan) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая использует одну подписку для базовой повторяющейся буферизации буферовSize в окне. (Определяется наблюдаемым.)
метод общедоступного расширения воспроизведения<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, Int32, TimeSpan, IScheduler) Перегруженные. Возвращает наблюдаемую последовательность, которая является результатом вызова селектора в подключаемой наблюдаемой последовательности, которая использует одну подписку для базовой повторяющейся буферизации буферовSize в окне. (Определяется наблюдаемым.)
метод общедоступного расширения повторите<T>() Перегруженные. Повторяет исходную наблюдаемую последовательность, пока она не завершится успешно. (Определяется наблюдаемым.)
метод общедоступного расширения повторная попытка<T>(Int32) Перегруженные. Повторяет исходную наблюдаемую последовательность, пока она не завершится успешно. (Определяется наблюдаемым.)
метод общедоступного расширения пример<T>(TimeSpan) Перегруженные. Примеры наблюдаемой последовательности по каждому интервалу. (Определяется наблюдаемым.)
метод общедоступного расширения пример<T>(TimeSpan, IScheduler) Перегруженные. Примеры наблюдаемой последовательности с каждым интервалом с указанным источником, интервалом и планировщиком. (Определяется наблюдаемым.)
метод общедоступного расширения пример<T, TSample>(IObservable<TSample>) Перегруженные. Примеры наблюдаемой последовательности при выборке галок с указанным источником и образцом. (Определяется наблюдаемым.)
метод общедоступного расширения Сканировать<T>(Func<T, T, T>) Перегруженные. Применяет функцию аккуматора по наблюдаемой последовательности и возвращает каждый промежуточный результат с указанным источником и накопительным элементом. (Определяется наблюдаемым.)
метод общедоступного расширения Сканировать<T, TAccumulate>(TAccumulate, Func<TAccumulate, T, TAccumulate>) Перегруженные. Применяет функцию аккумулятора к наблюдаемой последовательности и возвращает каждый промежуточный результат с указанным источником, начальным и накопительным элементом. (Определяется наблюдаемым.)
метод общедоступного расширения Выберите<T, TResult>(Func<T, TResult>) Перегруженные. Проектируйте каждый элемент наблюдаемой последовательности в новую форму с указанным источником и селектором. (Определяется наблюдаемым.)
метод общедоступного расширения Выбрать<T, TResult>(Func<T, Int32, TResult>) Перегруженные. Проектируйте каждый элемент наблюдаемой последовательности в новую форму, включив индекс элемента с указанным источником и селектором. (Определяется наблюдаемым.)
метод общедоступного расширения SelectMany<T, TOther>(IObservable<TOther>) Перегруженные. Проектирует каждый элемент наблюдаемой последовательности в наблюдаемую последовательность и сглаживает полученные наблюдаемые последовательности в одну наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения SelectMany<T, TResult>(Func<T, IObservable<TResult>>) Перегруженные. Проектирует каждый элемент наблюдаемой последовательности в наблюдаемую последовательность и сглаживает полученные наблюдаемые последовательности в одну наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения SelectMany<T, TResult>(Func<T, IEnumerable<TResult>>) Перегруженные. Проектирует каждый элемент наблюдаемой последовательности в наблюдаемую последовательность и сглаживает полученные наблюдаемые последовательности в одну наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения SelectMany<T, TResult>(Func<T, IObservable<TResult>>, Func<Exception, IObservable<TRes>>ult>>, Func<IObservable<TResult ) Перегруженные. Проектирует каждый элемент наблюдаемой последовательности в наблюдаемую последовательность и сглаживает полученные наблюдаемые последовательности в одну наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения SelectMany<T, TCollection, TResult>(Func<T, IEnumerable<TCollection>>, Func<T, TCollection, TResult>) Перегруженные. Проектирует каждый элемент наблюдаемой последовательности в наблюдаемую последовательность и сглаживает полученные наблюдаемые последовательности в одну наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения SelectMany<T, TCollection, TResult>(Func<T, IObservable<TCollection>>, Func<T, TCollection, TResult>) Перегруженные. Проектирует каждый элемент наблюдаемой последовательности в наблюдаемую последовательность и сглаживает полученные наблюдаемые последовательности в одну наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения SequenceEqual<T>(IObservable<T>) Перегруженные. Определяет, равны ли две последовательности, сравнивая элементы по паре. (Определяется наблюдаемым.)
метод общедоступного расширения SequenceEqual<T>(IObservable<T>, IEqualityComparer<T>) Перегруженные. Определяет, равны ли две последовательности путем сравнения элементов по паре с помощью указанного сравнения равенства. (Определяется наблюдаемым.)
метод общедоступного расширения > < > Перегруженные. Возвращает единственный элемент наблюдаемой последовательности и создает исключение, если в наблюдаемой последовательности нет ни одного элемента. (Определяется наблюдаемым.)
метод общедоступного расширения одиночный<T>(Func<T, логический>) Перегруженные. Возвращает единственный элемент наблюдаемой последовательности, соответствующий предикату, и вызывает исключение, если в наблюдаемой последовательности нет ни одного элемента. (Определяется наблюдаемым.)
метод общедоступного расширения SingleOrDefault<T>() Перегруженные. Возвращает единственный элемент наблюдаемой последовательности или значение по умолчанию, если наблюдаемая последовательность пуста. (Определяется наблюдаемым.)
метод общедоступного расширения SingleOrDefault<T>(Func<T, boolean>) Перегруженные. Возвращает единственный элемент наблюдаемой последовательности, соответствующий предикату, или значение по умолчанию, если значение не найдено. (Определяется наблюдаемым.)
метод общедоступного расширения Пропускать<T> Проходит указанное число значений в наблюдаемой последовательности, а затем возвращает оставшиеся значения. (Определяется наблюдаемым.)
метод общедоступного расширения SkipLast<T> Проходит указанное число элементов в конце наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения SkipUntil<T, TOther> Возвращает значения из исходной наблюдаемой последовательности только после того, как другая наблюдаемая последовательность создает значение. (Определяется наблюдаемым.)
метод общедоступного расширения SkipTime<T>(Func<T, Boolean>) Перегруженные. Передает значения в наблюдаемой последовательности, если указанное условие имеет значение true, а затем возвращает оставшиеся значения. (Определяется наблюдаемым.)
метод общедоступного расширения SkipTime<T>(Func<T, Int32, Boolean>) Перегруженные. Передает значения в наблюдаемой последовательности, если указанное условие имеет значение true, а затем возвращает оставшиеся значения. (Определяется наблюдаемым.)
метод общедоступного расширения StartWith<T>T[]) Перегруженные. Предустановка последовательности значений в наблюдаемой последовательности с указанным источником и значениями. (Определяется наблюдаемым.)
метод общедоступного расширения StartWith<T>(IScheduler, T[]) Перегруженные. Подготовка последовательности значений к наблюдаемой последовательности с указанным источником, планировщиком и значениями. (Определяется наблюдаемым.)
метод общедоступного расширения подписка<T>() Перегруженные. Вычисляет наблюдаемую последовательность с указанным источником. (Определяется ObservableExtensions.)
метод общедоступного расширения подписываться<T>(действие<T>) Перегруженные. Подписывает обработчик элемента на наблюдаемую последовательность. (Определяется ObservableExtensions.)
метод общедоступного расширения подписываться<T>(действие<T>, действие<исключения>) Перегруженные. Подписывает обработчик элементов и обработчик исключений на наблюдаемую последовательность. (Определяется ObservableExtensions.)
метод общедоступного расширения подписываться<T>(действие<T>, действие) Перегруженные. Подписывает обработчик элементов и обработчик завершения в наблюдаемую последовательность. (Определяется ObservableExtensions.)
метод общедоступного расширения подписаться<T>(действие<T>, действие<исключения>, действие) Перегруженные. Подписывает обработчик элементов, обработчик исключений и обработчик завершения в наблюдаемую последовательность. (Определяется ObservableExtensions.)
метод общедоступного расширения Подписка<T>(SynchronizationContext) Перегруженные. Асинхронно подписывается и отменяет подписки наблюдателей в указанном контексте синхронизации. (Определяется наблюдаемым.)
метод общедоступного расширения Подписка на<T>(control) Перегруженные. (Определяется ControlObservable.)
метод общедоступного расширения Подписка<T>(диспетчер) Перегруженные. (Определяется DispatcherObservable.)
метод общедоступного расширения SubscribeOn<T>(DispatcherScheduler) Перегруженные. (Определяется DispatcherObservable.)
метод общедоступного расширения Подписка<T>(IScheduler) Перегруженные. Асинхронно подписывается и отменяет подписку наблюдателей на указанный планировщик. (Определяется наблюдаемым.)
метод общедоступного расширения SubscribeOnDispatcher<T> (Определяется DispatcherObservable.)
метод общедоступного расширения Синхронизация<T>() Перегруженные. Синхронизирует наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения Синхронизация<T>(объект) Перегруженные. Синхронизирует наблюдаемую последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения Взять<T> Возвращает указанное число смежных значений из начала наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения TakeLast<T> Возвращает указанное число смежных элементов из конца наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения TakeUntil<T, TOther> Возвращает значения из исходной наблюдаемой последовательности, пока другая наблюдаемая последовательность не выдает значение. (Определяется наблюдаемым.)
метод общедоступного расширения TakeTime<T>(Func<T, boolean>) Перегруженные. Возвращает значения из наблюдаемой последовательности до тех пор, пока указанное условие имеет значение true, а затем пропускает оставшиеся значения. (Определяется наблюдаемым.)
метод общедоступного расширения TakeTime<T>(Func<T, Int32, Boolean>) Перегруженные. Возвращает значения из наблюдаемой последовательности до тех пор, пока указанное условие имеет значение true, а затем пропускает оставшиеся значения. (Определяется наблюдаемым.)
метод общедоступного расширения затем<T, TResult> Соответствует, если наблюдаемая последовательность имеет доступное значение и проектировало значение. (Определяется наблюдаемым.)
метод общедоступного расширения T<>T (TimeSpan) Перегруженные. Игнорирует значения из наблюдаемой последовательности, за которой следует другое значение до времени выполнения с указанным источником и dueTime. (Определяется наблюдаемым.)
метод общедоступного расширения <T>(TimeSpan, IScheduler) Перегруженные. Игнорирует значения из наблюдаемой последовательности, за которой следует другое значение перед временем выполнения с указанным источником, dueTime и планировщиком. (Определяется наблюдаемым.)
метод общедоступного расширения TimeInterval<T>() Перегруженные. Записывает интервал времени между последовательными значениями в наблюдаемой последовательности с указанным источником. (Определяется наблюдаемым.)
метод общедоступного расширения TimeInterval<T>(IScheduler) Перегруженные. Записывает интервал времени между последовательными значениями в наблюдаемой последовательности с указанным источником и планировщиком. (Определяется наблюдаемым.)
метод общедоступного расширения время ожидания<T>(TimeSpan) Перегруженные. Возвращает наблюдаемую последовательность или timeoutException, если срок действия dueTime истекает. (Определяется наблюдаемым.)
метод общедоступного расширения время ожидания<T>(DateTimeOffset) Перегруженные. Возвращает наблюдаемую последовательность или тайм-аутException, если время выполнения истекает. (Определяется наблюдаемым.)
метод общедоступного расширения время ожидания<T>(TimeSpan, IObservable<T>) Перегруженные. Возвращает исходную наблюдаемую последовательность или другую наблюдаемую последовательность в случае истечения времени dueTime. (Определяется наблюдаемым.)
метод общедоступного расширения время ожидания<T>(DateTimeOffset, IObservable<T>) Перегруженные. Возвращает наблюдаемую последовательность или timeoutException, если срок действия dueTime истекает. (Определяется наблюдаемым.)
метод общедоступного расширения время ожидания<T>(TimeSpan, IScheduler) Перегруженные. Возвращает наблюдаемую последовательность или timeoutException, если срок действия dueTime истекает. (Определяется наблюдаемым.)
метод общедоступного расширения время ожидания<T>(DateTimeOffset, IScheduler) Перегруженные. Возвращает наблюдаемую последовательность или timeoutException, если срок действия dueTime истекает. (Определяется наблюдаемым.)
метод общедоступного расширения время ожидания<T>(TimeSpan, IObservable<T>, IScheduler) Перегруженные. Возвращает исходную наблюдаемую последовательность или другую наблюдаемую последовательность в случае истечения времени dueTime. (Определяется наблюдаемым.)
метод общедоступного расширения время ожидания<T>(DateTimeOffset, IObservable<T>, IScheduler) Перегруженные. Возвращает исходную наблюдаемую последовательность или другую наблюдаемую последовательность в случае истечения времени dueTime. (Определяется наблюдаемым.)
метод общедоступного расширения метка времени<T>() Перегруженные. Записывает метку времени для каждого значения в наблюдаемой последовательности с указанным источником. (Определяется наблюдаемым.)
метод общедоступного расширения метка времени<T>(IScheduler) Перегруженные. Записывает метку времени для каждого значения в наблюдаемой последовательности с указанным источником и планировщиком. (Определяется наблюдаемым.)
метод общедоступного расширения ToArray<T> Создает массив из наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения ToDictionary<T, TKey>(Func<T, TKey>) Перегруженные. Создает словарь из наблюдаемой последовательности в соответствии с указанной функцией селектора ключей. (Определяется наблюдаемым.)
метод общедоступного расширения ToDictionary<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Перегруженные. Создает словарь из наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и компратором. (Определяется наблюдаемым.)
метод общедоступного расширения ToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>) Перегруженные. Создает словарь из наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и функцией селектора элементов. (Определяется наблюдаемым.)
метод общедоступного расширения ToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>) Перегруженные. Создает словарь из наблюдаемой последовательности в соответствии с указанной функцией селектора ключей, компратором и функцией селектора элементов. (Определяется наблюдаемым.)
метод общедоступного расширения ToEnumerable<T> Преобразует наблюдаемую последовательность в перечисленную последовательность. (Определяется наблюдаемым.)
метод общедоступного расширения ToEvent<T> Предоставляет наблюдаемую последовательность как объект с событием .NET с указанным источником. (Определяется наблюдаемым.)
метод общедоступного расширения ToList<T> Создает список из наблюдаемой последовательности. (Определяется наблюдаемым.)
метод общедоступного расширения ToLookup<T, TKey>(Func<T, TKey>) Перегруженные. Создает подстановку из наблюдаемой последовательности в соответствии с указанной функцией селектора ключей. (Определяется наблюдаемым.)
метод общедоступного расширения ToLookup<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Перегруженные. Создает подстановку из наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и компратором. (Определяется наблюдаемым.)
метод общедоступного расширения ToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>) Перегруженные. Создает подстановку из наблюдаемой последовательности в соответствии с указанной функцией селектора ключей и функцией селектора элементов. (Определяется наблюдаемым.)
метод общедоступного расширения ToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>) Перегруженные. Создает подстановку из наблюдаемой последовательности в соответствии с указанной функцией селектора ключей, компратором и функцией селектора элементов. (Определяется наблюдаемым.)
метод общедоступного расширения ToTask<T>() Перегруженные. Возвращает задачу, содержащую последнее значение наблюдаемой последовательности. (Определяется TaskObservableExtensions.)
метод общедоступного расширения ToTask<T>(object) Перегруженные. Возвращает задачу, содержащую последнее значение наблюдаемой последовательности. (Определяется TaskObservableExtensions.)
метод общедоступного расширения ToTask<T>(CancellationToken) Перегруженные. Возвращает задачу, содержащую последнее значение наблюдаемой последовательности. (Определяется TaskObservableExtensions.)
метод общедоступного расширения ToTask<T>(CancellationToken, Object) Перегруженные. Возвращает задачу, содержащую последнее значение наблюдаемой последовательности. (Определяется TaskObservableExtensions.)
метод общедоступного расширения Где<T>(Func<T, Логические>) Перегруженные. Фильтрует элементы наблюдаемой последовательности на основе предиката. (Определяется наблюдаемым.)
метод общедоступного расширения Где<T>(Func<T, Int32, Boolean>) Перегруженные. Фильтрует элементы наблюдаемой последовательности на основе предиката, включив индекс элемента. (Определяется наблюдаемым.)
метод общедоступного расширения окно<T>(Int32) Перегруженные. Проекты каждого элемента наблюдаемой последовательности в последовательные не перекрывающиеся окна, создаваемые на основе сведений о количестве элементов. (Определяется наблюдаемым.)
метод общедоступного расширения окне<T>(TimeSpan) Перегруженные. Проекты каждого элемента наблюдаемой последовательности в последовательные не перекрывающиеся окна, создаваемые на основе сведений о времени. (Определяется наблюдаемым.)
метод общедоступного расширения окно<T>(Int32, Int32) Перегруженные. Проекты каждого элемента наблюдаемой последовательности в ноль или более окон, создаваемых на основе сведений о количестве элементов. (Определяется наблюдаемым.)
метод общедоступного расширения окно<T>(TimeSpan, IScheduler) Перегруженные. Проекты каждого элемента наблюдаемой последовательности в последовательные не перекрывающиеся окна, создаваемые на основе сведений о времени. (Определяется наблюдаемым.)
метод общедоступного расширения < >(timeSpan, TimeSpan) Перегруженные. Проекты каждого элемента наблюдаемой последовательности в ноль или более окон, которые создаются на основе сведений о времени. (Определяется наблюдаемым.)
метод общедоступного расширения окно<T>(TimeSpan, Int32) Перегруженные. Проектирует каждый элемент наблюдаемой последовательности в окно, которое завершается, когда оно заполнено или истекло определенное время. (Определяется наблюдаемым.)
метод общедоступного расширения окно<T>(TimeSpan, TimeSpan, IScheduler) Перегруженные. Проекты каждого элемента наблюдаемой последовательности в ноль или более окон, которые создаются на основе сведений о времени. (Определяется наблюдаемым.)
метод общедоступного расширения окно<T>(TimeSpan, Int32, IScheduler) Перегруженные. Проектирует каждый элемент наблюдаемой последовательности в окно, которое завершается, когда оно заполнено или истекло определенное время. (Определяется наблюдаемым.)
метод общедоступного расширения Window<T, TWindowClosing>(Func<IObservable<TWindowClosing>>) Перегруженные. Проектируют каждый элемент наблюдаемой последовательности в последовательные не перекрывающиеся окна. (Определяется наблюдаемым.)
метод общедоступного расширения Window<T, TWindowOpening, TWindowClosing>(IObservable<TWindowOpening>, Func<TWindowOpening, IObservable<TWindowClosing>>) Перегруженные. Проекты каждого элемента наблюдаемой последовательности в ноль или более окон. (Определяется наблюдаемым.)
метод общедоступного расширения Zip<T, TSecond, TResult>(IObservable<TSecond>, Func<T, TSecond, TResult> ) Перегруженные. Объединяет две наблюдаемые последовательности в одну наблюдаемую последовательность, сочетая их элементы в парной форме. (Определяется наблюдаемым.)
метод общедоступного расширения Zip<T, TSecond, TResult>(IEnumerable<TSecond>, Func<T, TSecond, TResult>) Перегруженные. Объединяет наблюдаемую последовательность и перечисленную последовательность в одну наблюдаемую последовательность с помощью функции селектора. (Определяется наблюдаемым.)

Вверх

Замечания

Холодные наблюдаемые объекты начинают работать при подписке, т. е. наблюдаемая последовательность начинает отправлять значения только наблюдателям при вызове подписки. Значения также не предоставляются подписчикам. Это отличается от горячих наблюдаемых событий, таких как события перемещения мыши или тикеры акций, которые уже создают значения, даже прежде чем подписка активна. Когда наблюдатель подписывается на горячую наблюдаемую последовательность, она получит текущее значение в потоке. Горячая наблюдаемая последовательность предоставляется всем подписчикам, и каждый подписчик отправляет следующее значение в последовательности. Например, даже если никто не подписался на определенный тикер акций, тикер будет продолжать обновлять свою стоимость на основе движения рынка. Когда подписчик регистрирует интерес к этому тикеру, он автоматически получит последний галок.

Примеры

В следующем примере мы преобразуем источник холодной наблюдаемой последовательности в горячий, используя оператор Publish, который возвращает экземпляр IConnectableObservable<T>, который мы именуем горячим. Оператор публикации предоставляет механизм совместного использования подписок путем трансляции одной подписки нескольким подписчикам. hot действует как прокси-сервер и подписывается на источник, а затем по мере получения значений из источника отправляет их собственным подписчикам. Чтобы установить подписку на резервный источник и начать получение значений, мы используем метод IConnectableObservable.Connect(). Так как IConnectableObservable наследует IObservable, мы можем использовать подписку на эту горячую последовательность даже до запуска. Обратите внимание, что в примере горячая последовательность не была запущена, когда подписка на подписку на нее подписывается. Таким образом, никакое значение не передается подписчику. После вызова Connect значения затем отправляются в подписку1. После задержки в течение 3 секунд подписка 2 подписывается на горячую подписку и начинает получать значения сразу из текущей позиции (3 в этом случае) до конца. Выходные данные выглядят следующим образом:

Current Time: 6/1/2011 3:38:49 PM

Current Time after 1st subscription: 6/1/2011 3:38:49 PM

Current Time after Connect: 6/1/2011 3:38:52 PM

Observer 1: OnNext: 0

Observer 1: OnNext: 1

Current Time just before 2nd subscription: 6/1/2011 3:38:55 PM 

Observer 1: OnNext: 2

Observer 1: OnNext: 3

Observer 2: OnNext: 3

Observer 1: OnNext: 4

Observer 2: OnNext: 4
       
Console.WriteLine("Current Time: " + DateTime.Now);
var source = Observable.Interval(TimeSpan.FromSeconds(1));   //creates a sequence

IConnectableObservable<long> hot = Observable.Publish<long>(source);  // convert the sequence into a hot sequence

IDisposable subscription1 = hot.Subscribe(     // no value is pushed to 1st subscription at this point
                            x => Console.WriteLine("Observer 1: OnNext: {0}", x),
                            ex => Console.WriteLine("Observer 1: OnError: {0}", ex.Message),
                            () => Console.WriteLine("Observer 1: OnCompleted"));
Console.WriteLine("Current Time after 1st subscription: " + DateTime.Now);
Thread.Sleep(3000);  //idle for 3 seconds
hot.Connect();       // hot is connected to source and starts pushing value to subscribers 
Console.WriteLine("Current Time after Connect: " + DateTime.Now);
Thread.Sleep(3000);  //idle for 3 seconds
Console.WriteLine("Current Time just before 2nd subscription: " + DateTime.Now);
IDisposable subscription2 = hot.Subscribe(     // value will immediately be pushed to 2nd subscription
                            x => Console.WriteLine("Observer 2: OnNext: {0}", x),
                            ex => Console.WriteLine("Observer 2: OnError: {0}", ex.Message),
                            () => Console.WriteLine("Observer 2: OnCompleted"));
Console.ReadKey();

См. также

Ссылка

пространство имен System.Reactive.Темы