Partilhar via


Interface T> IConnectableObservable<

Representa um observável que pode ser conectado e desconectado.

Namespace:System.Reactive.Subjects
Assembly: System.Reactive (em System.Reactive.dll)

Sintaxe

'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.

Parâmetros de tipo

  • outT
    O tipo.

    Este parâmetro de tipo é covariante. Isso significa que é possível usar o tipo especificado ou qualquer tipo mais derivado. Para obter mais informações sobre covariância e contravariância, consulte .

O tipo T> IConnectableObservable<expõe os membros a seguir.

Métodos

  Nome Descrição
Método público Connect Conecta o observável.
Método público Assinar (Herdado de IObservable<T>.)

Parte superior

Métodos de Extensão

  Nome Descrição
Método de extensão pública método de extensão pública Agregar<T>(Func<T, T, T>) Sobrecarregado. Aplica uma função de acumulador em uma sequência observável. (Definido por Observável.)
Método de extensão pública método de extensão pública Aggregate<T, TAccumulate>(TAccumulate, Func<TAccumulate, T, TAccumulate>) Sobrecarregado. Aplica uma função de acumulador em uma sequência observável com o valor de semente especificado. (Definido por Observável.)
Método de extensão pública método de extensão pública Todos os<T> Determina se todos os elementos de uma sequência observável atendem a uma condição. (Definido por Observável.)
Método de extensão pública método de extensão pública Amb<T> Propaga a sequência observável que reage primeiro com a primeira e a segunda sequência especificadas. (Definido por Observável.)
Método de extensão pública método de extensão pública E<T, TRight> Corresponde quando ambas as sequências observáveis têm um valor disponível. (Definido por Observável.)
Método de extensão pública método de extensão pública Qualquer<T>() Sobrecarregado. Determina se uma sequência observável contém elementos. (Definido por Observável.)
Método de extensão pública método de extensão pública Any<T>(Func<T, Boolean>) Sobrecarregado. Determina se todos os elementos de uma sequência observável atendem a uma condição. (Definido por Observável.)
Método de extensão pública método de extensão pública AsObservable<T> Oculta a identidade de uma sequência observável. (Definido por Observável.)
Método de extensão pública método de extensão pública AsQbservable<T> Converte uma sequência observável em uma sequência observável que pode ser consultada. (Definido por Qbservable.)
Método de extensão pública método de extensão pública AssertEqual<T> (Definido por Extensões.)
Método de extensão pública método de extensão pública Buffer<T>(Int32) Sobrecarregado. Indica cada elemento de uma sequência observável em buffers consecutivos não sobrepostos que são produzidos com base nas informações de contagem de elementos. (Definido por Observável.)
Método de extensão pública método de extensão pública Buffer<T>(TimeSpan) Sobrecarregado. Indica cada elemento de uma sequência observável em buffers consecutivos não sobrepostos que são produzidos com base em informações de tempo. (Definido por Observável.)
Método de extensão pública método de extensão pública Buffer<T>(Int32, Int32) Sobrecarregado. Indica cada elemento de uma sequência observável em zero ou mais buffers produzidos com base nas informações de contagem de elementos. (Definido por Observável.)
Método de extensão pública método de extensão pública Buffer<T>(TimeSpan, IScheduler) Sobrecarregado. Indica cada elemento de uma sequência observável em buffers consecutivos não sobrepostos que são produzidos com base em informações de tempo. (Definido por Observável.)
Método de extensão pública método de extensão pública Buffer<T>(TimeSpan, TimeSpan) Sobrecarregado. Indica cada elemento de uma sequência observável em zero ou mais buffers produzidos com base nas informações de tempo. (Definido por Observável.)
Método de extensão pública método de extensão pública Buffer<T>(TimeSpan, Int32) Sobrecarregado. Indica cada elemento de uma sequência observável em um buffer que é enviado quando ele está cheio ou um determinado período de tempo decorrido. (Definido por Observável.)
Método de extensão pública método de extensão pública Buffer<T>(TimeSpan, TimeSpan, IScheduler) Sobrecarregado. Indica cada elemento de uma sequência observável em zero ou mais buffers produzidos com base nas informações de tempo. (Definido por Observável.)
Método de extensão pública método de extensão pública Buffer<T>(TimeSpan, Int32, IScheduler) Sobrecarregado. Indica cada elemento de uma sequência observável em um buffer que é enviado quando ele está cheio ou um determinado período de tempo decorrido. (Definido por Observável.)
Método de extensão pública método de extensão pública Buffer<T, TBufferClosing>(Func<IObservable<TBufferClosing>>) Sobrecarregado. Indica cada elemento de uma sequência observável em buffers consecutivos não sobrepostos. (Definido por Observável.)
Método de extensão pública método de extensão pública Buffer<T, TBufferOpening, TBufferClosing>(IObservable<TBufferOpening>, Func<TBufferOpening, IObservable<TBufferClosing>>) Sobrecarregado. Indica cada elemento de uma sequência observável consultável em buffers consecutivos não sobrepostos. (Definido por Observável.)
Método de extensão pública método de extensão pública Catch<T>(IObservable<T>) Sobrecarregado. Continua uma sequência observável que é encerrada por uma exceção com a próxima sequência observável. (Definido por Observável.)
Método de extensão pública método de extensão pública Catch<T, TException>(Func<TException, IObservable<T>>) Sobrecarregado. Continua uma sequência observável que é encerrada por uma exceção do tipo especificado com a sequência observável produzida pelo manipulador. (Definido por Observável.)
Método de extensão pública método de extensão pública CombineLatest<T, TSecond, TResult> Mescla duas sequências observáveis em uma sequência observável usando a função seletora sempre que uma das sequências observáveis produz um elemento. (Definido por Observável.)
Método de extensão pública método de extensão pública Concat<T> Concatena duas sequências observáveis. (Definido por Observável.)
Método de extensão pública método de extensão pública Contém<T>(T) Sobrecarregado. Determina se uma sequência observável contém um elemento especificado usando o comparador de igualdade padrão. (Definido por Observável.)
Método de extensão pública método de extensão pública Contém<T>(T, IEqualityComparer<T>) Sobrecarregado. Determina se uma sequência observável contém um elemento especificado usando um System.Collections.Generic.IEqualityComparer&lt especificado; T&gt;. (Definido por Observável.)
Método de extensão pública método de extensão pública Contagem<T> Retorna um Int32 que representa o número total de elementos em uma sequência observável. (Definido por Observável.)
Método de extensão pública método de extensão pública DefaultIfEmpty<T>() Sobrecarregado. Retorna os elementos da sequência especificada ou o valor padrão do parâmetro de tipo em uma sequência singleton se a sequência estiver vazia. (Definido por Observável.)
Método de extensão pública método de extensão pública DefaultIfEmpty<T>(T) Sobrecarregado. Retorna os elementos da sequência especificada ou o valor padrão do parâmetro de tipo em uma sequência singleton se a sequência estiver vazia. (Definido por Observável.)
Método de extensão pública método de extensão pública Delay<T>(TimeSpan) Sobrecarregado. Indica a sequência observável por tempo de conclusão com a origem e dueTime especificadas. (Definido por Observável.)
Método de extensão pública método de extensão pública Delay<T>(DateTimeOffset) Sobrecarregado. Indica a sequência observável por tempo de conclusão com a origem e dueTime especificadas. (Definido por Observável.)
Método de extensão pública método de extensão pública Delay<T>(TimeSpan, IScheduler) Sobrecarregado. Indica a sequência observável por tempo de conclusão com a origem, dueTime e agendador especificados. (Definido por Observável.)
Método de extensão pública método de extensão pública Delay<T>(DateTimeOffset, IScheduler) Sobrecarregado. Indica a sequência observável por tempo de conclusão com a origem, dueTime e agendador especificados. (Definido por Observável.)
Método de extensão pública método de extensão pública Distinct<T>() Sobrecarregado. Retorna uma sequência observável que contém apenas elementos distintos com uma origem especificada. (Definido por Observável.)
Método de extensão pública método de extensão pública Distinct<T>(IEqualityComparer<T>) Sobrecarregado. Retorna uma sequência observável que contém apenas elementos distintos de acordo com o comparador. (Definido por Observável.)
Método de extensão pública método de extensão pública Distinct<T, TKey>(Func<T, TKey>) Sobrecarregado. Retorna uma sequência observável que contém apenas elementos distintos de acordo com o keySelector. (Definido por Observável.)
Método de extensão pública método de extensão pública Distinct<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Sobrecarregado. Retorna uma sequência observável que contém apenas elementos distintos de acordo com o keySelector. (Definido por Observável.)
pública método de extensão pública métodoMétodo DistinctUntilChanged<T>() Sobrecarregado. Retorna uma sequência observável que contém apenas elementos contíguos distintos com uma origem especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo DistinctUntilChanged<T>(IEqualityComparer<T>) Sobrecarregado. Retorna uma sequência observável que contém apenas elementos contíguos distintos de acordo com o comparador. (Definido por Observável.)
pública método de extensão pública métodoMétodo DistinctUntilChanged<T, TKey>(Func<T, TKey>) Sobrecarregado. Retorna uma sequência observável que contém apenas elementos contíguos distintos de acordo com o keySelector. (Definido por Observável.)
pública método de extensão pública métodoMétodo DistinctUntilChanged<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Sobrecarregado. Retorna uma sequência observável que contém apenas elementos contíguos distintos de acordo com o keySelector e o comparador. (Definido por Observável.)
pública método de extensão pública métodoMétodo Do<T>(Action<T>) Sobrecarregado. Invoca uma ação para cada elemento na sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Do<T>(IObserver<T>) Sobrecarregado. Invoca uma ação para cada elemento na sequência observável e invoca uma ação após o encerramento excepcional da sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Do<T>(Action<T>, Action) Sobrecarregado. Invoca uma ação para cada elemento na sequência observável e invoca uma ação após o encerramento normal da sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Do<T>(Action<T>, Action<Exception>) Sobrecarregado. Invoca uma ação para cada elemento na sequência observável e invoca uma ação após o encerramento excepcional da sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Do<T>(Action<T>, Action<Exception>, Action) Sobrecarregado. Invoca uma ação para cada elemento na sequência observável e invoca uma ação no encerramento normal ou excepcional da sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo ElementAt<T> Retorna o elemento de um índice especificado em uma sequência. (Definido por Observável.)
pública método de extensão pública métodoMétodo ElementAtOrDefault<T> Retorna o elemento em um índice especificado em uma sequência ou um valor padrão se o índice estiver fora do intervalo. (Definido por Observável.)
pública método de extensão pública métodoMétodo Finalmente<T> Invoca uma ação especificada depois que a sequência observável de origem termina normalmente ou por uma exceção. (Definido por Observável.)
pública método de extensão pública métodoMétodo Primeiro<T>() Sobrecarregado. Retorna o primeiro elemento de uma sequência observável com uma origem especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo Primeiro<T>(Func<T, Boolean>) Sobrecarregado. Retorna o primeiro elemento de uma sequência observável que corresponde ao predicado. (Definido por Observável.)
pública método de extensão pública métodoMétodo FirstOrDefault<T>() Sobrecarregado. Retorna o primeiro elemento de uma sequência observável ou um valor padrão se nenhum valor for encontrado. (Definido por Observável.)
pública método de extensão pública métodoMétodo FirstOrDefault<T>(Func<T, Boolean>) Sobrecarregado. Retorna o primeiro elemento de uma sequência observável que corresponde ao predicado ou um valor padrão se nenhum valor for encontrado. (Definido por Observável.)
pública método de extensão pública métodoMétodo Foo<T, R> (Definido por MyExt.)
pública método de extensão pública métodoMétodo ForEach<T> Invoca uma ação para cada elemento na sequência observável e bloqueia até que a sequência seja encerrada. (Definido por Observável.)
pública método de extensão pública métodoMétodo GetEnumerator<T> Retorna um enumerador que enumera todos os valores da sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo GroupBy<T, TKey>(Func<T, TKey>) Sobrecarregado. Agrupa os elementos de uma sequência observável de acordo com uma função de seletor de chave especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo GroupBy<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Sobrecarregado. Agrupa os elementos de uma sequência observável de acordo com uma função de seletor de chave e um comparador especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo GroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>) Sobrecarregado. Agrupa os elementos de uma sequência observável e seleciona os elementos resultantes usando uma função especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo GroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>) Sobrecarregado. Agrupa os elementos de uma sequência observável de acordo com uma função de seletor de chave especificada e o comparador e seleciona os elementos resultantes usando uma função especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo GroupByUntil<T, TKey, TDuration>(Func<T, TKey>, Func<IGroupedObservable<TKey, T>, IObservable<TDuration>>) Sobrecarregado. Agrupa os elementos de uma sequência observável de acordo com uma função de seletor de chave especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo GroupByUntil<T, TKey, TDuration>(Func<T, TKey>, Func<IGroupedObservable<TKey, T>, IObservable<TDuration>>, IEqualityComparer<TKey>) Sobrecarregado. Agrupa os elementos de uma sequência observável de acordo com uma função de seletor de chave e um comparador especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo GroupByUntil<T, TKey, TElement, TDuration>(Func<T, TKey>, Func<T, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>) Sobrecarregado. Agrupa os elementos de uma sequência observável de acordo com uma função de seletor de chave especificada e seleciona os elementos resultantes usando uma função especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo GroupByUntil<T, TKey, TElement, TDuration>(Func<T, TKey>, Func<T, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>, IEqualityComparer<TKey>) Sobrecarregado. Agrupa os elementos de uma sequência observável de acordo com uma função de seletor de chave especificada e o comparador e seleciona os elementos resultantes usando uma função especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo GroupJoin<T, TRight, TLeftDuration, TRightDuration, TResult> Correlaciona os elementos de duas sequências com base em durações sobrepostas e agrupa os resultados. (Definido por Observável.)
pública método de extensão pública métodoMétodo IgnoreElements<T> Ignora todos os valores em uma sequência observável, deixando apenas as mensagens de encerramento. (Definido por Observável.)
pública método de extensão pública métodoMétodo Ingressar em<T, TRight, TLeftDuration, TRightDuration, TResult> Correlaciona os elementos de duas sequências com base em durações sobrepostas. (Definido por Observável.)
pública método de extensão pública métodoMétodo Último<T>() Sobrecarregado. Retorna o último elemento de uma sequência observável com uma origem especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo Último<T>(Func<T, Boolean>) Sobrecarregado. Retorna o último elemento de uma sequência observável que corresponde ao predicado. (Definido por Observável.)
pública método de extensão pública métodoMétodo LastOrDefault<T>() Sobrecarregado. Retorna o último elemento na sequência observável ou um valor padrão se nenhum valor for encontrado. (Definido por Observável.)
pública método de extensão pública métodoMétodo LastOrDefault<T>(Func<T, Boolean>) Sobrecarregado. Retorna o último elemento de uma sequência observável que corresponde ao predicado ou um valor padrão se nenhum valor for encontrado. (Definido por Observável.)
pública método de extensão pública métodoMétodo T mais recente<> Amostra o valor mais recente em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo LongCount<T> Retorna um Int64 que representa o número total de elementos em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Materializar<T> Materializa as notificações implícitas de uma sequência observável como valores de notificação explícitos. (Definido por Observável.)
pública método de extensão pública métodoMétodo Max<T>() Sobrecarregado. Retorna o elemento máximo em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Max<T>(IComparer<T>) Sobrecarregado. Retorna o valor máximo em uma sequência observável de acordo com o comparador especificado. (Definido por Observável.)
pública método de extensão pública métodoMétodo MaxBy<T, TKey>(Func<T, TKey>) Sobrecarregado. Retorna os elementos em uma sequência observável com o valor máximo da chave. (Definido por Observável.)
pública método de extensão pública métodoMétodo MaxBy<T, TKey>(Func<T, TKey>, IComparer<TKey>) Sobrecarregado. Retorna os elementos em uma sequência observável com o valor máximo da chave. (Definido por Observável.)
pública método de extensão pública métodoMétodo Mesclar<T>(IObservable<T>) Sobrecarregado. Mescla uma sequência observável de sequências observáveis em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Mesclar<T>(IObservable<T>, IScheduler) Sobrecarregado. Mescla duas sequências observáveis em uma única sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Min<T>() Sobrecarregado. Retorna o elemento mínimo em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Min<T>(IComparer<T>) Sobrecarregado. Retorna o valor mínimo em uma sequência observável de acordo com o comparador especificado. (Definido por Observável.)
pública método de extensão pública métodoMétodo MinBy<T, TKey>(Func<T, TKey>) Sobrecarregado. Retorna os elementos em uma sequência observável com o valor mínimo da chave. (Definido por Observável.)
pública método de extensão pública métodoMétodo MinBy<T, TKey>(Func<T, TKey>, IComparer<TKey>) Sobrecarregado. Retorna os elementos em uma sequência observável com o valor mínimo da chave de acordo com o comparador especificado. (Definido por Observável.)
pública método de extensão pública métodoMétodo MostRecent<T> Amostra o valor mais recente em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Multicast<T, TResult>(ISubject<T, TResult>) Sobrecarregado. Retorna uma sequência observável conectável que, após a conexão, faz com que a sequência de origem envie resultados por push para o assunto especificado. (Definido por Observável.)
pública método de extensão pública métodoMétodo Multicast<T, TIntermediate, TResult>(Func<ISubject<T, TIntermediate>>, Func<IObservable<TIntermediate>, IObservable<TResult>>) Sobrecarregado. Retorna uma sequência observável que contém os elementos de uma sequência produzida por multicasting da sequência de origem dentro de uma função seletora. (Definido por Observável.)
pública método de extensão pública métodoMétodo Próximo<T> Amostra o próximo valor (bloqueio sem buffer) de em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo ObserveOn<T>(SynchronizationContext) Sobrecarregado. Notifique observadores de forma assíncrona sobre o contexto de sincronização especificado. (Definido por Observável.)
pública método de extensão pública métodoMétodo ObserveOn<T>(Control) Sobrecarregado. (Definido por ControlObservable.)
pública método de extensão pública métodoMétodo ObserveOn<T>(Dispatcher) Sobrecarregado. (Definido por DispatcherObservable.)
pública método de extensão pública métodoMétodo ObserveOn<T>(DispatcherScheduler) Sobrecarregado. (Definido por DispatcherObservable.)
pública método de extensão pública métodoMétodo ObserveOn<T>(IScheduler) Sobrecarregado. Notifique observadores de forma assíncrona sobre o agendador especificado. (Definido por Observável.)
pública método de extensão pública métodoMétodo ObserveOnDispatcher<T> (Definido por DispatcherObservable.)
pública método de extensão pública métodoMétodo OnErrorResumeNext<T> Continua uma sequência observável que é encerrada normalmente ou por uma exceção com a próxima sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Publicar<T>() Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente. (Definido por Observável.)
pública método de extensão pública métodoMétodo Publicar<T>(T) Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente e começa com initialValue. (Definido por Observável.)
pública método de extensão pública métodoMétodo Publicar<T, TResult>(Func<IObservable<T>, IObservable<TResult>>) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente. (Definido por Observável.)
pública método de extensão pública métodoMétodo Publicar<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, T) Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente e começa com initialValue. (Definido por Observável.)
pública método de extensão pública métodoMétodo PublishLast<T>() Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que contém apenas a última notificação. (Definido por Observável.)
pública método de extensão pública métodoMétodo PublishLast<T, TResult>(Func<IObservable<T>, IObservable<TResult>>) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que contém apenas a última notificação. (Definido por Observável.)
pública método de extensão pública métodoMétodo RefCount<TSource> Retorna uma sequência observável que permanece conectada à origem, desde que haja pelo menos uma assinatura para a sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Repetir<T>() Sobrecarregado. Repete a sequência observável indefinidamente. (Definido por Observável.)
pública método de extensão pública métodoMétodo Repita<T>(Int32) Sobrecarregado. Repete a sequência observável indefinidamente. (Definido por Observável.)
pública método de extensão pública métodoMétodo Reproduzir<T>() Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente reproduzindo todas as notificações. (Definido por Observável.)
pública método de extensão pública métodoMétodo Reproduzir<T>(TimeSpan) Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente reproduzindo todas as notificações dentro da janela. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T>(Int32) Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz bufferSize notificações. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T>(IScheduler) Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente reproduzindo todas as notificações. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T>(TimeSpan, IScheduler) Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente reproduzindo todas as notificações dentro da janela. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T>(Int32, IScheduler) Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz bufferSize notificações. (Definido por Observável.)
pública método de extensão pública métodoMétodo Reproduzir<T>(Int32, TimeSpan) Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz bufferSize notificações dentro da janela. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T>(Int32, TimeSpan, IScheduler) Sobrecarregado. Retorna uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz bufferSize notificações dentro da janela. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T, TResult>(Func<IObservable<T>, IObservable<TResult>>) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente e começa com o valor inicial. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, IScheduler) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que repete todas as notificações. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, TimeSpan) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz todas as notificações dentro da janela. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, Int32) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz notificações bufferSize. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, TimeSpan, IScheduler) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz todas as notificações dentro da janela. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, Int32, IScheduler) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz notificações bufferSize. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, Int32, TimeSpan) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz notificações bufferSize dentro da janela. (Definido por Observável.)
pública método de extensão pública métodoMétodo Replay<T, TResult>(Func<IObservable<T>, IObservable<TResult>>, Int32, TimeSpan, IScheduler) Sobrecarregado. Retorna uma sequência observável que é o resultado da invocação do seletor em uma sequência observável conectável que compartilha uma única assinatura para a sequência subjacente que reproduz notificações bufferSize dentro da janela. (Definido por Observável.)
pública método de extensão pública métodoMétodo <Repetir T>() Sobrecarregado. Repete a sequência observável de origem até que ela seja encerrada com êxito. (Definido por Observável.)
pública método de extensão pública métodoMétodo <Repetir T>(Int32) Sobrecarregado. Repete a sequência observável de origem até que ela seja encerrada com êxito. (Definido por Observável.)
pública método de extensão pública métodoMétodo Exemplo<de T>(TimeSpan) Sobrecarregado. Amostra a sequência observável em cada intervalo. (Definido por Observável.)
pública método de extensão pública métodoMétodo Exemplo<de T>(TimeSpan, IScheduler) Sobrecarregado. Amostra a sequência observável em cada intervalo com a origem, o intervalo e o agendador especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo Exemplo<de T, TSample>(IObservable<TSample>) Sobrecarregado. Amostra a sequência observável em tiques de amostragem com a origem e o sampler especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo Digitalizar<T>(Func<T, T, T>) Sobrecarregado. Aplica uma função de acumulador em uma sequência observável e retorna cada resultado intermediário com a origem e o acumulador especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo Scan<T, TAccumulate>(TAccumulate, Func<TAccumulate, T, TAccumulate>) Sobrecarregado. Aplica uma função de acumulador em uma sequência observável e retorna cada resultado intermediário com a origem, a semente e o acumulador especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo Selecione<T, TResult>(Func<T, TResult>) Sobrecarregado. Projeta cada elemento de uma sequência observável em um novo formulário com a origem e o seletor especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo Selecione<T, TResult>(Func<T, Int32, TResult>) Sobrecarregado. Projeta cada elemento de uma sequência observável em um novo formulário incorporando o índice do elemento com a origem e o seletor especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo SelectMany<T, TOther>(IObservable<TOther>) Sobrecarregado. Projeta cada elemento de uma sequência observável para uma sequência observável e nivela as sequências observáveis resultantes em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo SelectMany<T, TResult>(Func<T, IObservable<TResult>>) Sobrecarregado. Projeta cada elemento de uma sequência observável para uma sequência observável e nivela as sequências observáveis resultantes em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo SelectMany<T, TResult>(Func<T, IEnumerable<TResult>>) Sobrecarregado. Projeta cada elemento de uma sequência observável para uma sequência observável e nivela as sequências observáveis resultantes em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo SelectMany<T, TResult>(Func<T, IObservable<TResult>>, Func<Exception, IObservable<TResult>>, Func<IObservable<TResult>>) Sobrecarregado. Projeta cada elemento de uma sequência observável para uma sequência observável e nivela as sequências observáveis resultantes em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo SelectMany<T, TCollection, TResult>(Func<T, IEnumerable<TCollection>>, Func<T, TCollection, TResult>) Sobrecarregado. Projeta cada elemento de uma sequência observável para uma sequência observável e nivela as sequências observáveis resultantes em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo SelectMany<T, TCollection, TResult>(Func<T, IObservable<TCollection>>, Func<T, TCollection, TResult>) Sobrecarregado. Projeta cada elemento de uma sequência observável para uma sequência observável e nivela as sequências observáveis resultantes em uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo SequenceEqual<T>(IObservable<T>) Sobrecarregado. Determina se duas sequências são iguais comparando os elementos no sentido par. (Definido por Observável.)
pública método de extensão pública métodoMétodo SequenceEqual<T>(IObservable<T>, IEqualityComparer<T>) Sobrecarregado. Determina se duas sequências são iguais comparando os elementos em par usando um comparador de igualdade especificado. (Definido por Observável.)
pública método de extensão pública métodoMétodo T>() único< Sobrecarregado. Retorna o único elemento de uma sequência observável e gera uma exceção se não houver exatamente um elemento na sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Single<T>(Func<T, Boolean>) Sobrecarregado. Retorna o único elemento de uma sequência observável que corresponde ao predicado e gera uma exceção se não houver exatamente um elemento na sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo SingleOrDefault<T>() Sobrecarregado. Retorna o único elemento de uma sequência observável ou um valor padrão se a sequência observável estiver vazia. (Definido por Observável.)
pública método de extensão pública métodoMétodo SingleOrDefault<T>(Func<T, Boolean>) Sobrecarregado. Retorna o único elemento de uma sequência observável que corresponde ao predicado ou um valor padrão se nenhum valor for encontrado. (Definido por Observável.)
pública método de extensão pública métodoMétodo Ignorar<T> Ignora um número especificado de valores em uma sequência observável e retorna os valores restantes. (Definido por Observável.)
pública método de extensão pública métodoMétodo SkipLast<T> Ignora um número especificado de elementos no final de uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo SkipUntil<T, TOther> Retorna os valores da sequência observável de origem somente após a outra sequência observável produzir um valor. (Definido por Observável.)
pública método de extensão pública métodoMétodo SkipWhile<T>(Func<T, Boolean>) Sobrecarregado. Ignora valores em uma sequência observável, desde que uma condição especificada seja verdadeira e, em seguida, retorna os valores restantes. (Definido por Observável.)
pública método de extensão pública métodoMétodo SkipWhile<T>(Func<T, Int32, Boolean>) Sobrecarregado. Ignora valores em uma sequência observável, desde que uma condição especificada seja verdadeira e, em seguida, retorna os valores restantes. (Definido por Observável.)
pública método de extensão pública métodoMétodo StartWith<T>[]) Sobrecarregado. Anexa uma sequência de valores a uma sequência observável com a origem e os valores especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo StartWith<T>(IScheduler, T[]) Sobrecarregado. Anexa uma sequência de valores a uma sequência observável com a origem, o agendador e os valores especificados. (Definido por Observável.)
pública método de extensão pública métodoMétodo <Assinar T>() Sobrecarregado. Avalia a sequência observável com uma origem especificada. (Definido por ObservableExtensions.)
pública método de extensão pública métodoMétodo <Assinar T>(Action<T>) Sobrecarregado. Assina um manipulador de elementos em uma sequência observável. (Definido por ObservableExtensions.)
pública método de extensão pública métodoMétodo <Assinar T>(Action<T>, Action<Exception>) Sobrecarregado. Assina um manipulador de elementos e um manipulador de exceção em uma sequência observável. (Definido por ObservableExtensions.)
pública método de extensão pública métodoMétodo <Assinar T>(Ação<T>, Ação) Sobrecarregado. Assina um manipulador de elementos e um manipulador de conclusão em uma sequência observável. (Definido por ObservableExtensions.)
pública método de extensão pública métodoMétodo <Assinar T>(Action<T>, Action<Exception>, Action) Sobrecarregado. Assina um manipulador de elementos, um manipulador de exceção e um manipulador de conclusão em uma sequência observável. (Definido por ObservableExtensions.)
pública método de extensão pública métodoMétodo SubscribeOn<T>(SynchronizationContext) Sobrecarregado. Assina e cancela a assinatura de observadores de forma assíncrona no contexto de sincronização especificado. (Definido por Observável.)
pública método de extensão pública métodoMétodo SubscribeOn<T>(Control) Sobrecarregado. (Definido por ControlObservable.)
pública método de extensão pública métodoMétodo SubscribeOn<T>(Dispatcher) Sobrecarregado. (Definido por DispatcherObservable.)
pública método de extensão pública métodoMétodo SubscribeOn<T>(DispatcherScheduler) Sobrecarregado. (Definido por DispatcherObservable.)
pública método de extensão pública métodoMétodo SubscribeOn<T>(IScheduler) Sobrecarregado. Assina de forma assíncrona e cancela a assinatura de observadores no agendador especificado. (Definido por Observável.)
pública método de extensão pública métodoMétodo SubscribeOnDispatcher<T> (Definido por DispatcherObservable.)
pública método de extensão pública métodoMétodo Sincronizar<T>() Sobrecarregado. Sincroniza a sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Sincronizar<T>(Object) Sobrecarregado. Sincroniza a sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo Tomar<T> Retorna um número especificado de valores contíguos desde o início de uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo TakeLast<T> Retorna um número especificado de elementos contíguos do final de uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo TakeUntil<T, TOther> Retorna os valores da sequência observável de origem até que a outra sequência observável produza um valor. (Definido por Observável.)
Método de extensão pública método de extensão pública TakeWhile<T>(Func<T, Boolean>) Sobrecarregado. Retorna valores de uma sequência observável, desde que uma condição especificada seja verdadeira e ignore os valores restantes. (Definido por Observável.)
Método de extensão pública método de extensão pública TakeWhile<T>(Func<T, Int32, Boolean>) Sobrecarregado. Retorna valores de uma sequência observável, desde que uma condição especificada seja verdadeira e ignore os valores restantes. (Definido por Observável.)
Método de extensão pública método de extensão pública Em seguida<, T, TResult> Corresponde quando a sequência observável tem um valor disponível e projeta o valor. (Definido por Observável.)
Método de extensão pública método de extensão pública Throttle<T>(TimeSpan) Sobrecarregado. Ignora os valores de uma sequência observável que são seguidos por outro valor antes do devido tempo com a origem especificada e dueTime. (Definido por Observável.)
Método de extensão pública método de extensão pública Throttle<T>(TimeSpan, IScheduler) Sobrecarregado. Ignora os valores de uma sequência observável que são seguidos por outro valor antes do devido tempo com a origem, dueTime e agendador especificados. (Definido por Observável.)
Método de extensão pública método de extensão pública TimeInterval<T>() Sobrecarregado. Registra o intervalo de tempo entre valores consecutivos em uma sequência observável com a origem especificada. (Definido por Observável.)
Método de extensão pública método de extensão pública TimeInterval<T>(IScheduler) Sobrecarregado. Registra o intervalo de tempo entre valores consecutivos em uma sequência observável com a origem e o agendador especificados. (Definido por Observável.)
Método de extensão pública método de extensão pública Tempo limite<T>(TimeSpan) Sobrecarregado. Retorna a sequência observável ou um TimeoutException se dueTime decorrer. (Definido por Observável.)
Método de extensão pública método de extensão pública Tempo limite<T>(DateTimeOffset) Sobrecarregado. Retorna a sequência observável ou uma TimeoutException se dueTime decorrer. (Definido por Observável.)
Método de extensão pública método de extensão pública Tempo limite<T>(TimeSpan, IObservable<T>) Sobrecarregado. Retorna a sequência observável de origem ou a outra sequência observável se dueTime decorrer. (Definido por Observável.)
Método de extensão pública método de extensão pública Tempo limite<T>(DateTimeOffset, IObservable<T>) Sobrecarregado. Retorna a sequência observável ou um TimeoutException se dueTime decorrer. (Definido por Observável.)
Método de extensão pública método de extensão pública Tempo limite<T>(TimeSpan, IScheduler) Sobrecarregado. Retorna a sequência observável ou um TimeoutException se dueTime decorrer. (Definido por Observável.)
Método de extensão pública método de extensão pública Tempo limite<T>(DateTimeOffset, IScheduler) Sobrecarregado. Retorna a sequência observável ou um TimeoutException se dueTime decorrer. (Definido por Observável.)
Método de extensão pública método de extensão pública Tempo limite<T>(TimeSpan, IObservable<T>, IScheduler) Sobrecarregado. Retorna a sequência observável de origem ou a outra sequência observável se dueTime decorrer. (Definido por Observável.)
Método de extensão pública método de extensão pública Tempo limite<T>(DateTimeOffset, IObservable<T>, IScheduler) Sobrecarregado. Retorna a sequência observável de origem ou a outra sequência observável se dueTime decorrer. (Definido por Observável.)
Método de extensão pública método de extensão pública Carimbo de<data/hora T>() Sobrecarregado. Registra o carimbo de data/hora de cada valor em uma sequência observável com a origem especificada. (Definido por Observável.)
Método de extensão pública método de extensão pública Carimbo de data/hora<T>(IScheduler) Sobrecarregado. Registra o carimbo de data/hora de cada valor em uma sequência observável com a origem e o agendador especificados. (Definido por Observável.)
Método de extensão pública método de extensão pública ToArray<T> Cria uma matriz com base em uma sequência observável. (Definido por Observável.)
Método de extensão pública método de extensão pública ToDictionary<T, TKey>(Func<T, TKey>) Sobrecarregado. Cria um dicionário de uma sequência observável de acordo com uma função de seletor de chave especificada. (Definido por Observável.)
Método de extensão pública método de extensão pública ToDictionary<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Sobrecarregado. Cria um dicionário de uma sequência observável de acordo com uma função de seletor de chave especificada e um comparador. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>) Sobrecarregado. Cria um dicionário de uma sequência observável de acordo com uma função de seletor de chave especificada e uma função de seletor de elemento. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>) Sobrecarregado. Cria um dicionário de uma sequência observável de acordo com uma função de seletor de chave especificada, um comparador e uma função seletora de elemento. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToEnumerable<T> Converte uma sequência observável em uma sequência enumerável. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToEvent<T> Expõe uma sequência observável como um objeto com um evento .NET com uma origem especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToList<T> Cria uma lista de uma sequência observável. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToLookup<T, TKey>(Func<T, TKey>) Sobrecarregado. Cria uma pesquisa de uma sequência observável de acordo com uma função de seletor de chave especificada. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToLookup<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>) Sobrecarregado. Cria uma pesquisa de uma sequência observável de acordo com uma função de seletor de chave especificada e um comparador. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>) Sobrecarregado. Cria uma pesquisa de uma sequência observável de acordo com uma função de seletor de chave especificada e uma função de seletor de elemento. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>) Sobrecarregado. Cria uma pesquisa de uma sequência observável de acordo com uma função de seletor de chave especificada, um comparador e uma função seletora de elemento. (Definido por Observável.)
pública método de extensão pública métodoMétodo ToTask<T>() Sobrecarregado. Retorna uma tarefa que contém o último valor da sequência observável. (Definido por TaskObservableExtensions.)
pública método de extensão pública métodoMétodo ToTask<T>(Object) Sobrecarregado. Retorna uma tarefa que contém o último valor da sequência observável. (Definido por TaskObservableExtensions.)
pública método de extensão pública métodoMétodo ToTask<T>(CancellationToken) Sobrecarregado. Retorna uma tarefa que contém o último valor da sequência observável. (Definido por TaskObservableExtensions.)
pública método de extensão pública métodoMétodo ToTask<T>(CancellationToken, Object) Sobrecarregado. Retorna uma tarefa que contém o último valor da sequência observável. (Definido por TaskObservableExtensions.)
pública método de extensão pública métodoMétodo Where<T>(Func<T, Boolean>) Sobrecarregado. Filtra os elementos de uma sequência observável com base em um predicado. (Definido por Observável.)
pública método de extensão pública métodoMétodo Where<T>(Func<T, Int32, Boolean>) Sobrecarregado. Filtra os elementos de uma sequência observável com base em um predicado incorporando o índice do elemento. (Definido por Observável.)
pública método de extensão pública métodoMétodo Janela<T>(Int32) Sobrecarregado. Projeta cada elemento de uma sequência observável em janelas consecutivas não sobrepostas que são produzidas com base nas informações de contagem de elementos. (Definido por Observável.)
pública método de extensão pública métodoMétodo Janela<T>(TimeSpan) Sobrecarregado. Projeta cada elemento de uma sequência observável em janelas consecutivas não sobrepostas que são produzidas com base nas informações de tempo. (Definido por Observável.)
pública método de extensão pública métodoMétodo Janela<T>(Int32, Int32) Sobrecarregado. Projeta cada elemento de uma sequência observável em zero ou mais janelas que são produzidas com base nas informações de contagem de elementos. (Definido por Observável.)
pública método de extensão pública métodoMétodo Janela<T>(TimeSpan, IScheduler) Sobrecarregado. Projeta cada elemento de uma sequência observável em janelas consecutivas não sobrepostas que são produzidas com base nas informações de tempo. (Definido por Observável.)
pública método de extensão pública métodoMétodo Janela<T>(TimeSpan, TimeSpan) Sobrecarregado. Projeta cada elemento de uma sequência observável em zero ou mais janelas que são produzidas com base nas informações de tempo. (Definido por Observável.)
pública método de extensão pública métodoMétodo Janela<T>(TimeSpan, Int32) Sobrecarregado. Projeta cada elemento de uma sequência observável em uma janela que é concluída quando ela está cheia ou um determinado período de tempo decorrido. (Definido por Observável.)
Método de extensão pública método de extensão pública Janela<T>(TimeSpan, TimeSpan, IScheduler) Sobrecarregado. Projeta cada elemento de uma sequência observável em zero ou mais janelas que são produzidas com base nas informações de tempo. (Definido por Observável.)
Método de extensão pública método de extensão pública Janela<T>(TimeSpan, Int32, IScheduler) Sobrecarregado. Projeta cada elemento de uma sequência observável em uma janela que é concluída quando ela está cheia ou um determinado período de tempo decorrido. (Definido por Observável.)
Método de extensão pública método de extensão pública Window<T, TWindowClosing>(Func<IObservable<TWindowClosing>>) Sobrecarregado. Projeta cada elemento de uma sequência observável em janelas consecutivas não sobrepostas. (Definido por Observável.)
Método de extensão pública método de extensão pública Window<T, TWindowOpening, TWindowClosing>(IObservable<TWindowOpening>, Func<TWindowOpening, IObservable<TWindowClosing>>) Sobrecarregado. Projeta cada elemento de uma sequência observável em zero ou mais janelas. (Definido por Observável.)
Método de extensão pública método de extensão pública Zip<T, TSecond, TResult>(IObservable<TSecond>, Func<T, TSecond, TResult>) Sobrecarregado. Mescla duas sequências observáveis em uma sequência observável combinando seus elementos de maneira emparelhada. (Definido por Observável.)
Método de extensão pública método de extensão pública Zip<T, TSecond, TResult>(IEnumerable<TSecond>, Func<T, TSecond, TResult>) Sobrecarregado. Mescla uma sequência observável e uma sequência enumerável em uma sequência observável usando a função seletora . (Definido por Observável.)

Parte superior

Comentários

Observáveis frios começam a ser executados na assinatura, ou seja, a sequência observável só começa a enviar valores por push para os observadores quando Subscribe é chamado. Os valores também não são compartilhados entre os assinantes. Isso é diferente dos observáveis frequentes, como eventos de movimentação do mouse ou tickers de ações que já estão produzindo valores antes mesmo de uma assinatura estar ativa. Quando um observador assina uma sequência observável quente, ele obtém o valor atual no fluxo. A sequência observável quente é compartilhada entre todos os assinantes e cada assinante é enviado por push para o próximo valor na sequência. Por exemplo, mesmo que ninguém tenha assinado um determinado ticker de ações, o ticker continuará a atualizar seu valor com base na movimentação do mercado. Quando um assinante registra interesse nesse ticker, ele receberá automaticamente o tique mais recente.

Exemplos

No exemplo a seguir, convertemos uma fonte de sequência observável a frio em uma quente usando o operador Publish, que retorna uma instância de IConnectableObservable<T> que nomeamos frequente. O operador Publish fornece um mecanismo para compartilhar assinaturas transmitindo uma única assinatura para vários assinantes. hot atua como um proxy e assina a origem, então, como ele recebe valores da origem, envia-os por push para seus próprios assinantes. Para estabelecer uma assinatura para a fonte de suporte e começar a receber valores, usamos o método IConnectableObservable.Connect(). Como IConnectableObservable herda IObservable, podemos usar Subscribe para assinar essa sequência quente antes mesmo de começar a ser executada. Observe que, no exemplo, a sequência quente não foi iniciada quando subscription1 a assina. Portanto, nenhum valor é enviado por push para o assinante. Depois de chamar Conectar, os valores são enviados por push para subscription1. Após um atraso de 3 segundos, subscription2 assina hot e começa a receber os valores imediatamente da posição atual (3 nesse caso) até o final. A saída tem esta aparência:

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();

Consulte Também

Referência

System.Reactive.Subjects Namespace