浏览代码

Adding overloads to Publish[Last].

Bart De Smet 8 年之前
父节点
当前提交
12e9f96ef3

+ 8 - 0
AsyncRx.NET/System.Reactive.Async/System/Reactive/Linq/Operators/Publish.cs

@@ -11,6 +11,14 @@ namespace System.Reactive.Linq
 
     partial class AsyncObservable
     {
+        public static IConnectableAsyncObservable<TSource> Publish<TSource>(this IAsyncObservable<TSource> source)
+        {
+            if (source == null)
+                throw new ArgumentNullException(nameof(source));
+
+            return Multicast(source, new SequentialSimpleAsyncSubject<TSource>());
+        }
+
         public static IAsyncObservable<TResult> Publish<TSource, TResult>(this IAsyncObservable<TSource> source, Func<IAsyncObservable<TSource>, IAsyncObservable<TResult>> selector)
         {
             if (source == null)

+ 8 - 0
AsyncRx.NET/System.Reactive.Async/System/Reactive/Linq/Operators/PublishLast.cs

@@ -11,6 +11,14 @@ namespace System.Reactive.Linq
 
     partial class AsyncObservable
     {
+        public static IConnectableAsyncObservable<TSource> PublishLast<TSource>(this IAsyncObservable<TSource> source)
+        {
+            if (source == null)
+                throw new ArgumentNullException(nameof(source));
+
+            return Multicast(source, new SequentialAsyncAsyncSubject<TSource>());
+        }
+
         public static IAsyncObservable<TResult> PublishLast<TSource, TResult>(this IAsyncObservable<TSource> source, Func<IAsyncObservable<TSource>, IAsyncObservable<TResult>> selector)
         {
             if (source == null)