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


Интерфейс ISubject<TSource, TResult>

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

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

Синтаксис

'Declaration
Public Interface ISubject(Of In TSource, Out TResult) _
    Inherits IObserver(Of TSource), IObservable(Of TResult)
'Usage
Dim instance As ISubject(Of In TSource, Out TResult)
public interface ISubject<in TSource, out TResult> : IObserver<TSource>, 
    IObservable<TResult>
generic<typename TSource, typename TResult>
public interface class ISubject : IObserver<TSource>, 
    IObservable<TResult>
type ISubject<'TSource, 'TResult> =  
    interface
        interface IObserver<'TSource>
        interface IObservable<'TResult>
    end
JScript does not support generic types and methods.

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

  • inTSource
    Тип источника.

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

  • outTResult
    Тип результата.

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

Тип ISubject<TSource, TResult> предоставляет следующие элементы.

Методика

  Имя Описание
Public method OnCompleted (Наследуется от IObserver<TSource>.)
Public method OnError (Наследуется от IObserver<TSource>.)
Public method OnNext (Наследуется от IObserver<TSource>.)
Public method подписка (Наследуется от IObservable<TResult>.)

Вверх

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

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

Вверх

Замечания

Этот интерфейс субъекта обеспечивает гибкость для субъекта, чтобы наблюдать наблюдаемую последовательность одного типа при публикации наблюдаемой последовательности другого типа.

Примеры

В этом примере демонстрируется реализация ISubject<TSource, TResult>, которая наблюдает наблюдаемую последовательность одного типа при публикации наблюдаемой последовательности другого типа. AsciiConverterSubject в этом примере демонстрирует реализацию, наблюдая последовательности типов char и публикуя наблюдаемую последовательность int. Опубликованная наблюдаемая последовательность int — это код ASCII для каждого наблюдаемого значения char.

using System;
using System.Collections.Generic;
using System.Reactive.Linq;
using System.Reactive.Subjects;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Threading;

namespace Example
{
  class Program
  {
    static void Main()
    {
      //****************************************************************************************//
      //*** Create an observable sequence of char from console input until enter is pressed. ***//
      //****************************************************************************************//
      IObservable<char> keySequence = Observable.Create<char>(observer =>
      {
        bool bContinue = true;

        while (bContinue)
        {
          ConsoleKeyInfo keyInfo = Console.ReadKey(true);

          if (keyInfo.Key != ConsoleKey.Enter)
          {
            observer.OnNext(keyInfo.KeyChar);
          }
          else
          {
            observer.OnCompleted();
            bContinue = false;
          }
        }

        return (() => { });
      });


      //****************************************************************************************//
      //*** Create an AsciiConverterSubject which takes a source type of char and returns an ***//
      //*** observable sequence of int which is the ASCII code for source items of char.     ***//
      //****************************************************************************************//

      AsciiConverterSubject myConverterSubject = new AsciiConverterSubject();


      //****************************************************************************************//
      //*** Subscribe to the keySequence on the .NET threadpool so the main thread can       ***//
      //*** create subscriptions to the AsciiConverterSubject                                ***//
      //****************************************************************************************//

      IDisposable subscription = keySequence.SubscribeOn(Scheduler.ThreadPool).Subscribe(myConverterSubject);


      Console.WriteLine("\nEnter a sequence of keys to have the AsciiConverterSubject\nconvert the keys to their ASCII code values.\n"); 
      Console.WriteLine("Press ENTER to terminate the observable sequence...\n");


      //****************************************************************************************//
      //*** Subscribe to the AsciiConverterSubject and write the ASCII code values to the    ***//
      //*** console window.                                                                  ***//
      //***                                                                                  ***//
      //*** The main thread will wait on the completion of the keySequence. It completes     ***//
      //*** when ENTER is pressed.                                                           ***//
      //****************************************************************************************//

      EventWaitHandle waitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
      myConverterSubject.Subscribe(c => Console.WriteLine("Ascii Char code {0} entered.",c), () => waitHandle.Set());
      waitHandle.WaitOne();


      //***************************************//
      //*** Explicitly releasing resources. ***//
      //***************************************//
      
      subscription.Dispose();
      myConverterSubject.Dispose();
    }
  }



  //***********************************************************************************************//
  //***                                                                                         ***//
  //*** The AsciiConverterSubject demonstrates an implementation of ISubject<TSource, TResult>. ***//
  //*** It is used to subscribe to an observable sequence of char. It publishes an observable   ***//
  //*** sequence of int which should be the ASCII code for each char value it observes.         ***//
  //***                                                                                         ***//
  //***********************************************************************************************//

  class AsciiConverterSubject : ISubject<char, int>, IDisposable
  {
    private List<IObserver<int>> observerList;
    private bool isDisposed;
    private bool isStopped;
    object gate = new object();
    Exception exception;

    public AsciiConverterSubject()
    {
      observerList = new List<IObserver<int>>();
    }

    public void OnCompleted()
    {
      //****************************************************************************************//
      //*** Make sure the OnCompleted operation is not preempted by another operation        ***//
      //*** which would break the expected behavior.  For example, don't allow an error from ***//
      //*** OnError preempt OnCompleted from anotther thread. Then OnCompleted would follow  ***//
      //*** an error.  That would be an incorrect behavior.                                  ***//
      //****************************************************************************************//

      lock (gate)
      {
        CheckDisposed();

        if (!isStopped)
        {
          foreach (IObserver<int> observer in observerList)
          {
            observer.OnCompleted();
          }

          observerList.Clear();
          isStopped = true;
        }
      }
    }

    public void OnError(Exception error)
    {
      if (error == null)
        throw new ArgumentException("Exception error should not be null.");

      //****************************************************************************************//
      //*** Make sure the OnError operation is not preempted by another operation which      ***//
      //*** would break the expected behavior.  For example, don't allow unsubscribe or an   ***//
      //*** OnCompleted operation to preempt OnError from another thread. This would result  ***//
      //*** in an error following completion.  That would be an incorrect behavior.          ***//
      //****************************************************************************************//

      lock (gate)
      {
        CheckDisposed();

        if (!isStopped)
        {
          exception = error;

          foreach (IObserver<int> observer in observerList)
          {
            observer.OnError(error);
          }

          observerList.Clear();
          isStopped = true;
        }
      }
    }

    public void OnNext(char value)
    {
      //****************************************************************************************//
      //*** Make sure the OnNext operation is not preempted by another operation which       ***//
      //*** would break the expected behavior.  For example, don't allow unsubscribe, errors ***//
      //*** or an OnCompleted operation to preempt OnNext from another thread. This would    ***//
      //*** have the result of items in a sequence following completion, errors, or          ***//
      //*** unsubscribe.  That would be an incorrect behavior.                               ***//
      //****************************************************************************************//

      lock (gate)
      {
        CheckDisposed();

        if (!isStopped)
        {
          foreach (IObserver<int> observer in observerList)
          {
            observer.OnNext(Convert.ToInt32(value));
          }
        }
      }
    }

    public IDisposable Subscribe(IObserver<int> observer)
    {
      if (observer == null)
        throw new ArgumentException("observer should not BehaviorSubject null.");

      //****************************************************************************************//
      //*** Make sure Subscribe occurs in sync with the other operations so we keep the      ***//
      //*** correct behavior depending on whether an error has occurred or the observable    ***//
      //*** sequence has completed.                                                          ***//
      //****************************************************************************************//

      lock (gate)
      {
        CheckDisposed();

        if (!isStopped)
        {
          observerList.Add(observer);
          return new Subscription(observer, this);
        }
        else if (exception != null)
        {
          observer.OnError(exception);
          return Disposable.Empty;
        }
        else
        {
          observer.OnCompleted();
          return Disposable.Empty;
        }
      }
    }

    private void Unsubscribe(IObserver<int> observer)
    {
      //****************************************************************************************//
      //*** Make sure Unsubscribe occurs in sync with the other operations so we keep the    ***//
      //*** correct behavior.                                                                ***//
      //****************************************************************************************//

      lock (gate)
      {
        observerList.Remove(observer);
      }
    }

    public void Dispose()
    {
      //****************************************************************************************//
      //*** Make sure Dispose occurs in sync with the other operations so we keep the        ***//
      //*** correct behavior. For example, Dispose shouldn't preempt the other operations    ***//
      //*** changing state variables after they have been checked.                           ***//
      //****************************************************************************************//

      lock (gate)
      {
        observerList.Clear();
        isStopped = true;
        isDisposed = true;
      }
    }

    private void CheckDisposed()
    {
      if (isDisposed)
        throw new ObjectDisposedException("Subject has been disposed.");
    }


    //************************************************************************************//
    //***                                                                              ***//
    //*** The Subscription class wraps each observer that creates a subscription. This ***//
    //*** is needed to expose an IDisposable interface through which a observer can    ***//
    //*** cancel the subscription.                                                     ***//
    //***                                                                              ***//
    //************************************************************************************//

    class Subscription : IDisposable
    {
      private AsciiConverterSubject subject;
      private IObserver<int> observer;

      public Subscription(IObserver<int> obs, AsciiConverterSubject sub)
      {
        subject = sub;
        observer = obs;
      }

      public void Dispose()
      {
        subject.Unsubscribe(observer);
      }
    }
  }
}

Приведенные ниже выходные данные были созданы примером кода.

Enter a sequence of keys to have the AsciiConverterSubject
convert the keys to their ASCII code values.

Press ENTER to terminate the observable sequence...

Ascii Char code 59 entered.
Ascii Char code 108 entered.
Ascii Char code 115 entered.
Ascii Char code 100 entered.
Ascii Char code 107 entered.
Ascii Char code 102 entered.
Ascii Char code 59 entered.
Ascii Char code 108 entered.
Ascii Char code 115 entered.
Ascii Char code 100 entered.
Ascii Char code 107 entered.
Ascii Char code 102 entered.
Ascii Char code 59 entered.
Ascii Char code 108 entered.
Ascii Char code 115 entered.
Ascii Char code 107 entered.
Ascii Char code 100 entered.
Ascii Char code 59 entered.
Ascii Char code 102 entered.
Ascii Char code 108 entered.
Ascii Char code 115 entered.
Ascii Char code 107 entered.
Ascii Char code 100 entered.

См. также

Ссылка

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