Udostępnij za pośrednictwem


Observable.Sync<TSource,> metoda (IObservable<TSource>)

Synchronizuje obserwowaną sekwencję.

Przestrzeń nazw:System.Reactive.Linq
Zestawu: System.Reaktywny (w System.Reactive.dll)

Składnia

'Declaration
<ExtensionAttribute> _
Public Shared Function Synchronize(Of TSource) ( _
    source As IObservable(Of TSource) _
) As IObservable(Of TSource)
'Usage
Dim source As IObservable(Of TSource)
Dim returnValue As IObservable(Of TSource)

returnValue = source.Synchronize()
public static IObservable<TSource> Synchronize<TSource>(
    this IObservable<TSource> source
)
[ExtensionAttribute]
public:
generic<typename TSource>
static IObservable<TSource>^ Synchronize(
    IObservable<TSource>^ source
)
static member Synchronize : 
        source:IObservable<'TSource> -> IObservable<'TSource> 
JScript does not support generic types and methods.

Parametry typu

  • Tsource
    Źródło typu.

Parametry

Wartość zwracana

Typ: System.IObservable<TSource>
Sekwencja źródłowa, której wychodzące wywołania obserwatorów są synchronizowane.

Uwaga dotycząca użycia

W języku Visual Basic i C#można wywołać tę metodę jako metodę wystąpienia w dowolnym obiekcie typu IObservable<TSource>. Gdy w celu wywołania tej metody jest używana składnia metody wystąpienia, należy pominąć pierwszy parametr. Aby uzyskać więcej informacji, zobacz lub .

Uwagi

Ta metoda Sync zwraca zauważalną sekwencję typu TSource, która synchronizuje wychodzące wywołania z metodami obserwatora (OnNext, OnCompletion, OnError). Jest to realizowane przez uzyskanie blokady wzajemnego wykluczenia dla obiektu bramy . Kolejne przeciążenie metody Sync umożliwia podanie własnego obiektu bramy: (Sync<TSource(IObservable<TSource>>, Object).

To przeciążenie metody Sync spowoduje utworzenie nowego obiektu bramy dla każdej subskrypcji. Podobne do następujących:

return Defer(() =>
{
  var gate = new object();
  return Synchronize(gate);
});

Zobacz też

Odwołanie

Obserwowana klasa

Synchronizuj przeciążenie

Przestrzeń nazw System.Reactive.Linq