Bagikan melalui


ISubject<TSource, TResult> Interface

Mewakili objek yang merupakan urutan yang dapat diamati serta pengamat.

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

Sintaksis

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

Parameter Jenis

  • inTSource
    Jenis sumber.

    Parameter jenis ini kontravarian. Artinya, Anda dapat menggunakan jenis yang Anda tentukan atau jenis apa pun yang kurang diturunkan. Untuk informasi selengkapnya tentang kovariansi dan kontravariansi, lihat .

  • outTResult
    Jenis hasil.

    Parameter jenis ini kovarian. Artinya, Anda dapat menggunakan jenis yang Anda tentukan atau jenis apa pun yang lebih diturunkan. Untuk informasi selengkapnya tentang kovariansi dan kontravariansi, lihat .

Jenis> ISubject<TSource, TResult mengekspos anggota berikut.

Metode

  Nama Deskripsi
metode metode Publik OnCompleted (Diwarisi dari IObserver<TSource>.)
metode metode Publik onError (Diwarisi dari IObserver<TSource>.)
metode metode Publik OnNext (Diwarisi dari IObserver<TSource>.)
metode metode Publik Berlangganan (Diwarisi dari IObservable<TResult>.)

Puncak

Metode Ekstensi

  Nama Deskripsi
Metode Ekstensi Publik Metode Ekstensi Publik Agregat>TResult<( Func<TResult, TResult, TResult>) Kelebihan beban. Menerapkan fungsi akumulator melalui urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Agregat<TResult, TAccumulate>(TAccumulate, Func<TAccumulate, TResult, TAccumulate>) Kelebihan beban. Menerapkan fungsi akumulator melalui urutan yang dapat diamati dengan nilai benih yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Semua> TResult< Menentukan apakah semua elemen urutan yang dapat diamati memenuhi suatu kondisi. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TResult Amb Menyebarkan urutan yang dapat diamati yang bereaksi terlebih dahulu dengan urutan pertama dan kedua yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik dan<TResult, TRight> Cocok ketika kedua urutan yang dapat diamati memiliki nilai yang tersedia. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > <TResult () Kelebihan beban. Menentukan apakah urutan yang dapat diamati berisi elemen apa pun. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > <TResult (Func<TResult, Boolean>) Kelebihan beban. Menentukan apakah semua elemen urutan yang dapat diamati memenuhi suatu kondisi. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > TResult<AsObservable Menyembunyikan identitas urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik AsObserverTSource Menyembunyikan identitas pengamat. (Ditentukan olehPengamat .)
Metode Ekstensi Publik Metode Ekstensi Publik < < > AsQbservable Mengonversi urutan yang dapat diamati menjadi urutan yang dapat diamati yang dapat diamati. (Ditentukan oleh Qbservable.)
Metode Ekstensi Publik Metode Ekstensi Publik AssertEqual<TResult> (Ditentukan oleh ekstensi .)
Metode Ekstensi Publik Metode Ekstensi Publik Buffer<>TResult (Int32) Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati ke dalam buffer yang tidak tumpang tindih berturut-turut yang diproduksi berdasarkan informasi jumlah elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik (TimeSpan) BufferTResult Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati ke dalam buffer yang tidak tumpang tindih berturut-turut yang diproduksi berdasarkan informasi waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik BufferTResult(Int32, Int32) Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati menjadi nol atau lebih buffer yang diproduksi berdasarkan informasi jumlah elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Buffer<>TResult (TimeSpan, IScheduler) Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati ke dalam buffer yang tidak tumpang tindih berturut-turut yang diproduksi berdasarkan informasi waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Buffer<>TResult (TimeSpan, TimeSpan) Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati menjadi nol atau lebih buffer yang diproduksi berdasarkan informasi waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik BufferTResult(TimeSpan, Int32) Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati ke dalam buffer yang dikirim ketika penuh atau jumlah waktu tertentu telah berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Buffer<>TResult (TimeSpan, TimeSpan, IScheduler) Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati menjadi nol atau lebih buffer yang diproduksi berdasarkan informasi waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Buffer<TResult>(TimeSpan, Int32, IScheduler) Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati ke dalam buffer yang dikirim ketika penuh atau jumlah waktu tertentu telah berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Buffer<TResult, TBufferClosing>(Func<IObservable<TBufferClosing>>) Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati ke dalam buffer yang tidak tumpang tindih berturut-turut. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Buffer<TResult, TBufferOpening, TBufferClosing>(IObservable<TBufferOpening>, Func<TBufferOpening, IObservable<TBufferClosing>>) Kelebihan beban. Menunjukkan setiap elemen urutan yang dapat diamati yang dapat dikueri ke dalam buffer yang tidak tumpang tindih berturut-turut. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Catch<TResult>(>TResult<IObservable ) Kelebihan beban. Melanjutkan urutan yang dapat diamati yang dihentikan oleh pengecualian dengan urutan yang dapat diamati berikutnya. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Catch<TResult, TException>(Func<TException, IObservable<TResult>>) Kelebihan beban. Melanjutkan urutan yang dapat diamati yang dihentikan oleh pengecualian dari jenis yang ditentukan dengan urutan yang dapat diamati yang dihasilkan oleh handler. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik CombineLatest<TResult, TSecond, TResult> Menggabungkan dua urutan yang dapat diamati ke dalam satu urutan yang dapat diamati dengan menggunakan fungsi pemilih setiap kali salah satu urutan yang dapat diamati menghasilkan elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ConcatTResult Menggabungkan dua urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Berisi>TResult (TResult)< Kelebihan beban. Menentukan apakah urutan yang dapat diamati berisi elemen tertentu dengan menggunakan perbandingan kesetaraan default. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Berisi>TResult<( TResult, IEqualityComparer<TRes>ult) Kelebihan beban. Menentukan apakah urutan yang dapat diamati berisi elemen tertentu dengan menggunakan System.Collections.Generic.IEqualityComparer tertentu< T>. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik CountTResult Mengembalikan Int32 yang menunjukkan jumlah total elemen dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult<DefaultIfEmpty () Kelebihan beban. Mengembalikan elemen dari urutan yang ditentukan atau nilai default parameter jenis dalam urutan singleton jika urutannya kosong. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik DefaultIfEmpty<TResult>(TResult) Kelebihan beban. Mengembalikan elemen dari urutan yang ditentukan atau nilai default parameter jenis dalam urutan singleton jika urutannya kosong. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik DelayTResult(TimeSpan) Kelebihan beban. Menunjukkan urutan yang dapat diamati berdasarkan waktu jatuh tempo dengan sumber dan dueTime yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik DelayTResult(DateTimeOffset) Kelebihan beban. Menunjukkan urutan yang dapat diamati berdasarkan waktu jatuh tempo dengan sumber dan dueTime yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Tunda<>TResult (TimeSpan, IScheduler) Kelebihan beban. Menunjukkan urutan yang dapat diamati berdasarkan waktu jatuh tempo dengan sumber, dueTime, dan penjadwal yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Tunda>TResult<(DateTimeOffset, IScheduler) Kelebihan beban. Menunjukkan urutan yang dapat diamati berdasarkan waktu jatuh tempo dengan sumber, dueTime, dan penjadwal yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult ()<berbeda Kelebihan beban. Mengembalikan urutan yang dapat diamati yang hanya berisi elemen berbeda dengan sumber tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult<berbeda (>IEqualityComparer<TResult) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang hanya berisi elemen yang berbeda sesuai dengan pembanding. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Distinct<TResult, TKey>(Func<TResult, TKey>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang hanya berisi elemen yang berbeda sesuai dengan keySelector. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Distinct<TResult, TKey>(Func<TResult, TKey>, IEqualityComparer<TKey>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang hanya berisi elemen yang berbeda sesuai dengan keySelector. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > <TResult () DistinctUntilChanged Kelebihan beban. Mengembalikan urutan yang dapat diamati yang hanya berisi elemen berdampingan yang berbeda dengan sumber tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik DistinctUntilChanged<TResult>(IEqualityComparer<TResult>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang hanya berisi elemen berdampingan yang berbeda sesuai dengan pembanding. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik DistinctUntilChanged<TResult, TKey>(Func<TResult, TKey>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang hanya berisi elemen berdampingan yang berbeda sesuai dengan keySelector. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik DistinctUntilChanged<TResult, TKey>(Func<TResult, TKey>, IEqualityComparer<TKey>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang hanya berisi elemen berdampingan yang berbeda sesuai dengan keySelector dan comparer. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > Do<TResult (>Action<TResult) Kelebihan beban. Memanggil tindakan untuk setiap elemen dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > Do<TResult (IObserver<TResult>) Kelebihan beban. Memanggil tindakan untuk setiap elemen dalam urutan yang dapat diamati dan memanggil tindakan setelah penghentian luar biasa dari urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > <TResult (Tindakan<TResult>, Tindakan) Kelebihan beban. Memanggil tindakan untuk setiap elemen dalam urutan yang dapat diamati dan memanggil tindakan setelah penghentian urutan yang dapat diamati dengan anggun. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Lakukan>TResult<(>>Tindakan<,>Pengecualian<Tindakan ) Kelebihan beban. Memanggil tindakan untuk setiap elemen dalam urutan yang dapat diamati dan memanggil tindakan setelah penghentian luar biasa dari urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > <TResult (Tindakan<>,>Pengecualian<Tindakan , Tindakan) Kelebihan beban. Memanggil tindakan untuk setiap elemen dalam urutan yang dapat diamati, dan memanggil tindakan setelah penghentian yang anggun atau luar biasa dari urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ElementAt<> TResult Mengembalikan elemen pada indeks tertentu secara berurutan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ElementAtOrDefault<TResult> Mengembalikan elemen pada indeks tertentu secara berurutan atau nilai default jika indeks berada di luar rentang. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Akhirnya<> TResult Memanggil tindakan tertentu setelah urutan yang dapat diamati sumber berakhir secara normal atau dengan pengecualian. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TResult Pertama () Kelebihan beban. Mengembalikan elemen pertama dari urutan yang dapat diamati dengan sumber tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult<Pertama (Func<TResult, Boolean>) Kelebihan beban. Mengembalikan elemen pertama dari urutan yang dapat diamati yang cocok dengan predikat. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik < >TResult () FirstOrDefault Kelebihan beban. Mengembalikan elemen pertama dari urutan yang dapat diamati, atau nilai default jika tidak ada nilai yang ditemukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik FirstOrDefault<TResult>(Func<TResult, Boolean>) Kelebihan beban. Mengembalikan elemen pertama dari urutan yang dapat diamati yang cocok dengan predikat, atau nilai default jika tidak ada nilai yang ditemukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Foo<TResult, R> (Ditentukan oleh MyExt.)
Metode Ekstensi Publik Metode Ekstensi Publik > ForEach<TResult Memanggil tindakan untuk setiap elemen dalam urutan yang dapat diamati, dan memblokir hingga urutan dihentikan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GetEnumerator<TResult> Mengembalikan enumerator yang menghitung semua nilai urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GroupBy<TResult, TKey>(Func<TResult, TKey>) Kelebihan beban. Mengelompokkan elemen urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GroupBy<TResult, TKey>(Func<TResult, TKey>, IEqualityComparer<TKey>) Kelebihan beban. Mengelompokkan elemen urutan yang dapat diamati sesuai dengan fungsi pemilih kunci dan pembanding tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GroupBy<TResult, TKey, TElement>(Func<TResult, TKey>, Func<TResult, TElement>) Kelebihan beban. Mengelompokkan elemen urutan yang dapat diamati dan memilih elemen yang dihasilkan dengan menggunakan fungsi tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GroupBy<TResult, TKey, TElement>(Func<TResult, TKey>, Func<TResult, TElement>, IEqualityComparer<TKey>) Kelebihan beban. Mengelompokkan elemen urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu dan pembanding dan memilih elemen yang dihasilkan dengan menggunakan fungsi tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GroupByUntil<TResult, TKey, TDuration>(Func<TResult, TKey>, Func<IGroupedObservable<TKey, TResult>, IObservable<TDuration>>) Kelebihan beban. Mengelompokkan elemen urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GroupByUntil<TResult, TKey, TDuration>(Func<TResult, TKey>, Func<IGroupedObservable<TKey, TResult>, IObservable<TDuration>>, IEqualityComparer<TKey>) Kelebihan beban. Mengelompokkan elemen urutan yang dapat diamati sesuai dengan fungsi pemilih kunci dan pembanding tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GroupByUntil<TResult, TKey, TElement, TDuration>(Func<TResult, TKey>, Func<TResult, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>) Kelebihan beban. Mengelompokkan elemen urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu dan memilih elemen yang dihasilkan dengan menggunakan fungsi tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GroupByUntil<TResult, TKey, TElement, TDuration>(Func<TResult, TKey>, Func<TResult, TElement>, Func<IGroupedObservable<TKey, TElement>, IObservable<TDuration>>, IEqualityComparer<TKey>) Kelebihan beban. Mengelompokkan elemen urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu dan pembanding dan memilih elemen yang dihasilkan dengan menggunakan fungsi tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik GroupJoin<TResult, TRight, TLeftDuration, TRightDuration, TResult> Menghubungkan elemen dari dua urutan berdasarkan durasi yang tumpang tindih, dan mengelompokkan hasilnya. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik IgnoreElements<> TResult Mengabaikan semua nilai dalam urutan yang dapat diamati hanya menyisakan pesan penghentian. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Menggabungkan<TResult, TRight, TLeftDuration, TRightDuration, TResult> Mengkorelasikan elemen dari dua urutan berdasarkan durasi yang tumpang tindih. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TResult Terakhir() Kelebihan beban. Mengembalikan elemen terakhir dari urutan yang dapat diamati dengan sumber tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult<Terakhir (Func<TResult, Boolean>) Kelebihan beban. Mengembalikan elemen terakhir dari urutan yang dapat diamati yang cocok dengan predikat. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TResult<LastOrDefault>() Kelebihan beban. Mengembalikan elemen terakhir dalam urutan yang dapat diamati, atau nilai default jika tidak ada nilai yang ditemukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult<LastOrDefault (Func<TResult, Boolean>) Kelebihan beban. Mengembalikan elemen terakhir dari urutan yang dapat diamati yang cocok dengan predikat, atau nilai default jika tidak ada nilai yang ditemukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > TResult<Terbaru Sampel nilai terbaru dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > TResult<LongCount Mengembalikan Int64 yang menunjukkan jumlah total elemen dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Mewujudkan> TResult< Mewujudkan pemberitahuan implisit dari urutan yang dapat diamati sebagai nilai pemberitahuan eksplisit. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik MaxTResult () Kelebihan beban. Mengembalikan elemen maksimum dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult Max<( IComparer<TResult>) Kelebihan beban. Mengembalikan nilai maksimum dalam urutan yang dapat diamati sesuai dengan pembanding yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik MaxBy<TResult, TKey>(Func<TResult, TKey>) Kelebihan beban. Mengembalikan elemen dalam urutan yang dapat diamati dengan nilai kunci maksimum. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik MaxBy<TResult, TKey>(Func<TResult, TKey>, IComparer<TKey>) Kelebihan beban. Mengembalikan elemen dalam urutan yang dapat diamati dengan nilai kunci maksimum. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > <TResult (>TResult<IObservable ) Kelebihan beban. Menggabungkan urutan urutan yang dapat diamati yang dapat diamati ke dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >Merge<TResult (IObservable<TResult>, IScheduler) Kelebihan beban. Menggabungkan dua urutan yang dapat diamati ke dalam satu urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik MinTResult () Kelebihan beban. Mengembalikan elemen minimum dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult Min<(>IComparer<TResult) Kelebihan beban. Mengembalikan nilai minimum dalam urutan yang dapat diamati sesuai dengan pembanding yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik MinBy<TResult, TKey>(Func<TResult, TKey>) Kelebihan beban. Mengembalikan elemen dalam urutan yang dapat diamati dengan nilai kunci minimum. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik MinBy<TResult, TKey>(Func<TResult, TKey>, IComparer<TKey>) Kelebihan beban. Mengembalikan elemen dalam urutan yang dapat diamati dengan nilai kunci minimum sesuai dengan pembanding yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > TResult<MostRecent Sampel nilai terbaru dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Multicast<TResult, TResult>(ISubject<TResult, TResult>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat disambungkan yang setelah koneksi menyebabkan urutan sumber mendorong hasil ke subjek yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Multicast<TResult, TIntermediate, TResult>(Func<ISubject<TResult, TIntermediate>>, Func<IObservable<TIntermediate>, IObservable<TResult>>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang berisi elemen urutan yang dihasilkan oleh multicasting urutan sumber dalam fungsi pemilih. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > TResult<Berikutnya Sampel nilai berikutnya (memblokir tanpa buffering) dari dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik < >TResult (SynchronizationContext) Kelebihan beban. Memberi tahu pengamat secara asinkron tentang konteks sinkronisasi yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ObserveOnTResult (Kontrol) Kelebihan beban. (Ditentukan oleh ControlObservable.)
Metode Ekstensi Publik Metode Ekstensi Publik < >TResult (Dispatcher) Kelebihan beban. (Ditentukan olehDispatcherObservable .)
Metode Ekstensi Publik Metode Ekstensi Publik < >TResult (DispatcherScheduler) Kelebihan beban. (Ditentukan olehDispatcherObservable .)
Metode Ekstensi Publik Metode Ekstensi Publik ObserveOnTResult(IScheduler) Kelebihan beban. Secara asinkron memberi tahu pengamat tentang penjadwal yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > ObserveOnDispatcher<TResult (Ditentukan olehDispatcherObservable .)
Metode Ekstensi Publik Metode Ekstensi Publik > OnErrorResumeNext<TResult Melanjutkan urutan yang dapat diamati yang dihentikan secara normal atau dengan pengecualian dengan urutan yang dapat diamati berikutnya. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TerbitkanTResult() Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Terbitkan>TResult (TResult)< Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar dan dimulai dengan initialValue. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Terbitkan<TResult,>TResult (Func<IObservable<TResult>, IObservable<TResult>>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil dari memanggil pemilih pada urutan yang dapat diamati yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Terbitkan<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>, TResult) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar dan dimulai dengan initialValue. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik PublishLastTResult() Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar yang hanya berisi pemberitahuan terakhir. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik PublishLast<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil pemilih pada urutan yang dapat diamati yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar yang hanya berisi pemberitahuan terakhir. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Ulangi>><() Kelebihan beban. Mengulangi urutan yang dapat diamati tanpa batas waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Ulangi><TResult (Int32) Kelebihan beban. Mengulangi urutan yang dapat diamati tanpa batas waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Putar UlangTResult () Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar yang memutar ulang semua pemberitahuan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Putar UlangTResult(Rentang Waktu) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang semua pemberitahuan dalam jendela. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Putar Ulang<>TResult (Int32) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang pemberitahuan bufferSize. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Putar Ulang<>TResult (IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar yang memutar ulang semua pemberitahuan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Putar Ulang<>TResult (TimeSpan, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang semua pemberitahuan dalam jendela. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Pemutaran UlangTResult (Int32, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang pemberitahuan bufferSize. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Pemutaran Ulang<>TResult (Int32, TimeSpan) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang pemberitahuan bufferSize dalam jendela. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Putar Ulang<>TResult (Int32, TimeSpan, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang pemberitahuan bufferSize dalam jendela. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Replay<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil pemilih memanggil pemilih pada urutan yang dapat diamati yang dapat diamati yang berbagi satu langganan ke urutan yang mendasar dan dimulai dengan nilai awal. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Replay<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil dari memanggil pemilih pada urutan yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang semua pemberitahuan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Replay<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>, TimeSpan) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil dari memanggil pemilih pada urutan yang dapat diamati yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang semua pemberitahuan dalam jendela. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Replay<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>, Int32) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil dari memanggil pemilih pada urutan yang dapat diamati yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang pemberitahuan bufferSize. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Replay<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>, TimeSpan, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil dari memanggil pemilih pada urutan yang dapat diamati yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang semua pemberitahuan dalam jendela. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Replay<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>, Int32, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil dari memanggil pemilih pada urutan yang dapat diamati yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang pemberitahuan bufferSize. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Replay<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>, Int32, TimeSpan) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil dari memanggil pemilih pada urutan yang dapat diamati yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang pemberitahuan bufferSize dalam jendela. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Replay<TResult, TResult>(Func<IObservable<TResult>, IObservable<TResult>>, Int32, TimeSpan, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati yang merupakan hasil dari memanggil pemilih pada urutan yang dapat diamati yang dapat diamati yang dapat dihubungkan yang berbagi satu langganan ke urutan yang mendasar memutar ulang pemberitahuan bufferSize dalam jendela. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Coba<lagi>>TResult () Kelebihan beban. Mengulangi urutan yang dapat diamati sumber hingga berhasil dihentikan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Coba lagi<>TResult (Int32) Kelebihan beban. Mengulangi urutan yang dapat diamati sumber hingga berhasil dihentikan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SampelTResult (Rentang Waktu) Kelebihan beban. Sampel urutan yang dapat diamati pada setiap interval. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > <TResult Sampel (TimeSpan, IScheduler) Kelebihan beban. Sampel urutan yang dapat diamati pada setiap interval dengan sumber, interval, dan penjadwal yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Sampel<TResult,>TSample (>TSample<IObservable) Kelebihan beban. Sampel urutan yang dapat diamati pada tanda centang pengambilan sampel dengan sumber dan sampler yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > Scan<TResult (Func<TResult, TResult, TResult>) Kelebihan beban. Menerapkan fungsi akumulator melalui urutan yang dapat diamati dan mengembalikan setiap hasil perantara dengan sumber dan akumulator yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Scan<TResult, TAccumulate>(TAccumulate, Func<TAccumulate, TResult, TAccumulate>) Kelebihan beban. Menerapkan fungsi akumulator melalui urutan yang dapat diamati dan mengembalikan setiap hasil perantara dengan sumber, benih, dan akumulator yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Pilih<TResult,>TResult (Func<TResult, TResult>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke dalam formulir baru dengan sumber dan pemilih yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Pilih<TResult,>TResult (Func<TResult, Int32, TResult>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke dalam formulir baru dengan menggabungkan indeks elemen dengan sumber dan pemilih yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SelectMany<TResult, TOther>(IObservable<TOther>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke urutan yang dapat diamati dan meratakan urutan yang dapat diamati yang dihasilkan menjadi satu urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SelectMany<TResult, TResult>(Func<TResult, IObservable<TResult>>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke urutan yang dapat diamati dan meratakan urutan yang dapat diamati yang dihasilkan menjadi satu urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SelectMany<TResult, TResult>(Func<TResult, IEnumerable<TResult>>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke urutan yang dapat diamati dan meratakan urutan yang dapat diamati yang dihasilkan menjadi satu urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SelectMany<TResult, TResult>(Func<TResult, IObservable<TResult>>, Func<Exception, IObservable<TResult>>, Func<IObservable<TResult>>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke urutan yang dapat diamati dan meratakan urutan yang dapat diamati yang dihasilkan menjadi satu urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SelectMany<TResult, TCollection, TResult>(Func<TResult, IEnumerable<TCollection>>, Func<TResult, TCollection, TResult>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke urutan yang dapat diamati dan meratakan urutan yang dapat diamati yang dihasilkan menjadi satu urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SelectMany<TResult, TCollection, TResult>(Func<TResult, IObservable<TCollection>>, Func<TResult, TCollection, TResult>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke urutan yang dapat diamati dan meratakan urutan yang dapat diamati yang dihasilkan menjadi satu urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SequenceEqual<TResult>(>TResult<IObservable ) Kelebihan beban. Menentukan apakah dua urutan sama dengan membandingkan elemen secara berpasangan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SequenceEqual<TResult>(IObservable<TResult>, IEqualityComparer<TResult>) Kelebihan beban. Menentukan apakah dua urutan sama dengan membandingkan elemen secara berpasangan menggunakan perbandingan kesetaraan yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TResult Tunggal () Kelebihan beban. Mengembalikan satu-satunya elemen dari urutan yang dapat diamati dan melempar pengecualian jika tidak ada tepat satu elemen dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult<Tunggal (Func<TResult, Boolean>) Kelebihan beban. Mengembalikan satu-satunya elemen dari urutan yang dapat diamati yang cocok dengan predikat dan melemparkan pengecualian jika tidak ada tepat satu elemen dalam urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik < <TRes>ult<() Kelebihan beban. Mengembalikan satu-satunya elemen dari urutan yang dapat diamati, atau nilai default jika urutan yang dapat diamati kosong. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SingleOrDefaultTResult (FuncTResult, Boolean) Kelebihan beban. Mengembalikan satu-satunya elemen dari urutan yang dapat diamati yang cocok dengan predikat, atau nilai default jika tidak ada nilai yang ditemukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Lewati> TResult< Melewati jumlah nilai tertentu dalam urutan yang dapat diamati lalu mengembalikan nilai yang tersisa. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SkipLastTResult Melewati jumlah elemen tertentu di akhir urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SkipUntil<TResult, TOther> Mengembalikan nilai dari urutan yang dapat diamati sumber hanya setelah urutan lain yang dapat diamati menghasilkan nilai. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Skip><TResult (Func<TResult, Boolean>) Kelebihan beban. Melewati nilai dalam urutan yang dapat diamati selama kondisi yang ditentukan benar lalu mengembalikan nilai yang tersisa. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SkipWhile<TResult>(Func<TResult, Int32, Boolean>) Kelebihan beban. Melewati nilai dalam urutan yang dapat diamati selama kondisi yang ditentukan benar lalu mengembalikan nilai yang tersisa. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik MulaiWith<TResult>TResult[]) Kelebihan beban. Menambahkan urutan nilai ke urutan yang dapat diamati dengan sumber dan nilai yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik StartWith<TResult>(IScheduler, TResult[]) Kelebihan beban. Menambahkan urutan nilai ke urutan yang dapat diamati dengan sumber, penjadwal, dan nilai yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Berlangganan<>TResult () Kelebihan beban. Mengevaluasi urutan yang dapat diamati dengan sumber tertentu. (Ditentukan oleh ObservableExtensions.)
Metode Ekstensi Publik Metode Ekstensi Publik Berlangganan>TResult<(>Action<TResult ) Kelebihan beban. Berlangganan handler elemen ke urutan yang dapat diamati. (Ditentukan oleh ObservableExtensions.)
Metode Ekstensi Publik Metode Ekstensi Publik Berlangganan>TResult<(>Tindakan<TResult ,>Pengecualian<Tindakan ) Kelebihan beban. Berlangganan handler elemen dan handler pengecualian ke urutan yang dapat diamati. (Ditentukan oleh ObservableExtensions.)
Metode Ekstensi Publik Metode Ekstensi Publik Berlangganan>TResult<(Tindakan<TResult>, Tindakan) Kelebihan beban. Berlangganan handler elemen dan handler penyelesaian ke urutan yang dapat diamati. (Ditentukan oleh ObservableExtensions.)
Metode Ekstensi Publik Metode Ekstensi Publik Berlangganan>TResult<(Tindakan<TResult>,>Pengecualian<Tindakan>, Tindakan) Kelebihan beban. Berlangganan handler elemen, handler pengecualian, dan handler penyelesaian ke urutan yang dapat diamati. (Ditentukan oleh ObservableExtensions.)
Metode Ekstensi Publik Metode Ekstensi Publik subscribeOn<>TResult (SynchronizationContext) Kelebihan beban. Secara asinkron berlangganan dan berhenti berlangganan pengamat pada konteks sinkronisasi yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik subscribeOn<>TResult (Control) Kelebihan beban. (Ditentukan oleh ControlObservable.)
Metode Ekstensi Publik Metode Ekstensi Publik < >TResult (Dispatcher) Kelebihan beban. (Ditentukan olehDispatcherObservable .)
Metode Ekstensi Publik Metode Ekstensi Publik subscribeOn<>TResult (DispatcherScheduler) Kelebihan beban. (Ditentukan olehDispatcherObservable .)
Metode Ekstensi Publik Metode Ekstensi Publik SubscribeOnTResult(IScheduler) Kelebihan beban. Secara asinkron berlangganan dan berhenti berlangganan pengamat pada penjadwal yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik SubscribeOnDispatcher<TResult> (Ditentukan olehDispatcherObservable .)
Metode Ekstensi Publik Metode Ekstensi Publik Sinkronkan><TResult () Kelebihan beban. Menyinkronkan urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Sinkronkan>TResult (Objek)< Kelebihan beban. Menyinkronkan urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Mengambil><TResult Mengembalikan jumlah nilai yang berdampingan yang ditentukan dari awal urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > TakeLast<TResult Mengembalikan jumlah elemen yang berdampingan yang ditentukan dari akhir urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TakeUntil<TResult, TOther> Mengembalikan nilai dari urutan yang dapat diamati sumber hingga urutan lain yang dapat diamati menghasilkan nilai. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TakeWhile<TResult>(Func<TResult, Boolean>) Kelebihan beban. Mengembalikan nilai dari urutan yang dapat diamati selama kondisi yang ditentukan benar, lalu melewati nilai yang tersisa. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TakeWhile<TResult>(Func<TResult, Int32, Boolean>) Kelebihan beban. Mengembalikan nilai dari urutan yang dapat diamati selama kondisi yang ditentukan benar, lalu melewati nilai yang tersisa. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Kemudian<TResult,> TResult Cocok ketika urutan yang dapat diamati memiliki nilai yang tersedia dan memproyeksikan nilainya. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ThrottleTResult(TimeSpan) Kelebihan beban. Mengabaikan nilai dari urutan yang dapat diamati yang diikuti oleh nilai lain sebelum waktu jatuh tempo dengan sumber dan dueTime yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik throttle<TResult>(TimeSpan, IScheduler) Kelebihan beban. Mengabaikan nilai dari urutan yang dapat diamati yang diikuti oleh nilai lain sebelum waktu jatuh tempo dengan sumber, dueTime, dan penjadwal yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult<TResult () Kelebihan beban. Merekam interval waktu antara nilai berturut-turut dalam urutan yang dapat diamati dengan sumber yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TimeInterval<TResult>(IScheduler) Kelebihan beban. Merekam interval waktu antara nilai berturut-turut dalam urutan yang dapat diamati dengan sumber dan penjadwal yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TimeoutTResult(TimeSpan) Kelebihan beban. Mengembalikan urutan yang dapat diamati atau TimeoutException jika dueTime berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Timeout<>TResult (DateTimeOffset) Kelebihan beban. Mengembalikan urutan yang dapat diamati atau TimeoutException jika dueTime berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Timeout<TResult>(TimeSpan, IObservable<TResult>) Kelebihan beban. Mengembalikan urutan yang dapat diamati sumber atau urutan lain yang dapat diamati jika dueTime berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Timeout<TResult>(DateTimeOffset, IObservable<TResult>) Kelebihan beban. Mengembalikan urutan yang dapat diamati atau TimeoutException jika dueTime berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Timeout<>TResult (TimeSpan, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati atau TimeoutException jika dueTime berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Timeout<>TResult (DateTimeOffset, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati atau TimeoutException jika dueTime berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Timeout<TResult>(TimeSpan, IObservable<TResult>, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati sumber atau urutan lain yang dapat diamati jika dueTime berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Timeout<>TResult (DateTimeOffset, IObservable<TResult>, IScheduler) Kelebihan beban. Mengembalikan urutan yang dapat diamati sumber atau urutan lain yang dapat diamati jika dueTime berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult<() Kelebihan beban. Merekam tanda waktu untuk setiap nilai dalam urutan yang dapat diamati dengan sumber yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TimestampTResult(IScheduler) Kelebihan beban. Merekam tanda waktu untuk setiap nilai dalam urutan yang dapat diamati dengan sumber dan penjadwal yang ditentukan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > ToArray<TResult Membuat array dari urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToDictionary<TResult, TKey>(Func<TResult, TKey>) Kelebihan beban. Membuat kamus dari urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToDictionary<TResult, TKey>(Func<TResult, TKey>, IEqualityComparer<TKey>) Kelebihan beban. Membuat kamus dari urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu, dan pembanding. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToDictionary<TResult, TKey, TElement>(Func<TResult, TKey>, Func<TResult, TElement>) Kelebihan beban. Membuat kamus dari urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu, dan fungsi pemilih elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToDictionary<TResult, TKey, TElement>(Func<TResult, TKey>, Func<TResult, TElement>, IEqualityComparer<TKey>) Kelebihan beban. Membuat kamus dari urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu, pembanding, dan fungsi pemilih elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToEnumerable<TResult> Mengonversi urutan yang dapat diamati ke urutan yang dapat dijumlahkan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > ToEvent<TResult Mengekspos urutan yang dapat diamati sebagai objek dengan peristiwa .NET dengan sumber tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToListTResult Membuat daftar dari urutan yang dapat diamati. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToLookup<TResult, TKey>(Func<TResult, TKey>) Kelebihan beban. Membuat pencarian dari urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToLookup<TResult, TKey>(Func<TResult, TKey>, IEqualityComparer<TKey>) Kelebihan beban. Membuat pencarian dari urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu, dan pembanding. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToLookup<TResult, TKey, TElement>(Func<TResult, TKey>, Func<TResult, TElement>) Kelebihan beban. Membuat pencarian dari urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu, dan fungsi pemilih elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToLookup<TResult, TKey, TElement>(Func<TResult, TKey>, Func<TResult, TElement>, IEqualityComparer<TKey>) Kelebihan beban. Membuat pencarian dari urutan yang dapat diamati sesuai dengan fungsi pemilih kunci tertentu, pembanding, dan fungsi pemilih elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik ToNotifier<TSource> Membuat panggilan balik pemberitahuan dari pengamat. (Ditentukan olehPengamat .)
Metode Ekstensi Publik Metode Ekstensi Publik ToTaskTResult() Kelebihan beban. Mengembalikan tugas yang berisi nilai terakhir dari urutan yang dapat diamati. (Ditentukan oleh TaskObservableExtensions.)
Metode Ekstensi Publik Metode Ekstensi Publik ToTaskTResult(Object) Kelebihan beban. Mengembalikan tugas yang berisi nilai terakhir dari urutan yang dapat diamati. (Ditentukan oleh TaskObservableExtensions.)
Metode Ekstensi Publik Metode Ekstensi Publik ToTask<>TResult (CancellationToken) Kelebihan beban. Mengembalikan tugas yang berisi nilai terakhir dari urutan yang dapat diamati. (Ditentukan oleh TaskObservableExtensions.)
Metode Ekstensi Publik Metode Ekstensi Publik ToTask<>TResult (CancellationToken, Object) Kelebihan beban. Mengembalikan tugas yang berisi nilai terakhir dari urutan yang dapat diamati. (Ditentukan oleh TaskObservableExtensions.)
Metode Ekstensi Publik Metode Ekstensi Publik > <TResult (Func<TResult, Boolean>) Kelebihan beban. Memfilter elemen urutan yang dapat diamati berdasarkan predikat. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik > <TResult (Func<TResult, Int32, Boolean>) Kelebihan beban. Memfilter elemen urutan yang dapat diamati berdasarkan predikat dengan menggabungkan indeks elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult (Int32) Window< Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke dalam jendela yang tidak tumpang tindih berturut-turut yang diproduksi berdasarkan informasi jumlah elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik (TimeSpan) WindowTResult Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke dalam jendela yang tidak tumpang tindih berturut-turut yang diproduksi berdasarkan informasi waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik >TResult<Jendela (Int32, Int32) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati menjadi nol atau lebih jendela yang diproduksi berdasarkan informasi jumlah elemen. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik WindowTResult (TimeSpan, IScheduler) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke dalam jendela yang tidak tumpang tindih berturut-turut yang diproduksi berdasarkan informasi waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TResult (TimeSpan, TimeSpan) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati menjadi nol atau lebih jendela yang diproduksi berdasarkan informasi waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik window<>TResult (TimeSpan, Int32) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke dalam jendela yang selesai ketika sudah penuh atau waktu tertentu telah berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TResult Window(TimeSpan, TimeSpan, IScheduler) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati menjadi nol atau lebih jendela yang diproduksi berdasarkan informasi waktu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik TResultJendela (TimeSpan, Int32, IScheduler) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke dalam jendela yang selesai ketika sudah penuh atau waktu tertentu telah berlalu. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Window<TResult, TWindowClosing>(Func<IObservable<TWindowClosing>>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati ke dalam jendela yang tidak tumpang tindih berturut-turut. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Window<TResult, TWindowOpening, TWindowClosing>(IObservable<TWindowOpening>, Func<TWindowOpening, IObservable<TWindowClosing>>) Kelebihan beban. Memproyeksikan setiap elemen urutan yang dapat diamati menjadi nol atau lebih jendela. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Zip<TResult, TSecond, TResult>(IObservable<TSecond>, Func<TResult, TSecond, TResult>) Kelebihan beban. Menggabungkan dua urutan yang dapat diamati menjadi satu urutan yang dapat diamati dengan menggabungkan elemen mereka secara berpasangan. (Didefinisikan olehyang dapat diamati .)
Metode Ekstensi Publik Metode Ekstensi Publik Zip<TResult, TSecond, TResult>(IEnumerable<TSecond>, Func<TResult, TSecond, TResult>) Kelebihan beban. Menggabungkan urutan yang dapat diamati dan urutan yang dapat dijumlahkan ke dalam satu urutan yang dapat diamati dengan menggunakan fungsi pemilih. (Didefinisikan olehyang dapat diamati .)

Puncak

Komentar

Antarmuka subjek ini memberikan fleksibilitas ke subjek untuk mengamati urutan yang dapat diamati dari satu jenis sambil menerbitkan urutan yang dapat diamati dari jenis lain.

Contoh

Contoh ini menunjukkan penerapan ISubject<TSource, TResult> yang mengamati urutan yang dapat diamati dari satu jenis saat menerbitkan urutan yang dapat diamati dari jenis lain. AsciiConverterSubject dalam contoh ini menunjukkan implementasi dengan mengamati urutan jenis karakter dan menerbitkan urutan int yang dapat diamati. Urutan int yang dapat diamati yang diterbitkan adalah kode ASCII untuk setiap nilai karakter yang diamatinya.

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

Output berikut dihasilkan oleh kode contoh.

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.

Lihat Juga

Referensi

System.Reactive.Subjects Namespace