Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/rx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs')
-rw-r--r--Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs
index 749f823..5d8e3ef 100644
--- a/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs
+++ b/Rx/NET/Source/System.Reactive.Linq/Reactive/Linq/Observable.Single.cs
@@ -511,6 +511,30 @@ namespace System.Reactive.Linq
/// </summary>
/// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
/// <param name="source">Source sequence to prepend values to.</param>
+ /// <param name="values">Values to prepend to the specified sequence.</param>
+ /// <returns>The source sequence prepended with the specified values.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="values"/> is null.</exception>
+ public static IObservable<TSource> StartWith<TSource>(this IObservable<TSource> source, IEnumerable<TSource> values)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (values == null)
+ throw new ArgumentNullException("values");
+
+ TSource[] valueArray = values as TSource[];
+ if (valueArray == null)
+ {
+ List<TSource> valueList = new List<TSource>(values);
+ valueArray = valueList.ToArray();
+ }
+ return s_impl.StartWith<TSource>(source, valueArray);
+ }
+
+ /// <summary>
+ /// Prepends a sequence of values to an observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <param name="source">Source sequence to prepend values to.</param>
/// <param name="scheduler">Scheduler to emit the prepended values on.</param>
/// <param name="values">Values to prepend to the specified sequence.</param>
/// <returns>The source sequence prepended with the specified values.</returns>
@@ -527,6 +551,33 @@ namespace System.Reactive.Linq
return s_impl.StartWith<TSource>(source, scheduler, values);
}
+ /// <summary>
+ /// Prepends a sequence of values to an observable sequence.
+ /// </summary>
+ /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
+ /// <param name="source">Source sequence to prepend values to.</param>
+ /// <param name="scheduler">Scheduler to emit the prepended values on.</param>
+ /// <param name="values">Values to prepend to the specified sequence.</param>
+ /// <returns>The source sequence prepended with the specified values.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="scheduler"/> or <paramref name="values"/> is null.</exception>
+ public static IObservable<TSource> StartWith<TSource>(this IObservable<TSource> source, IScheduler scheduler, IEnumerable<TSource> values)
+ {
+ if (source == null)
+ throw new ArgumentNullException("source");
+ if (scheduler == null)
+ throw new ArgumentNullException("scheduler");
+ if (values == null)
+ throw new ArgumentNullException("values");
+
+ TSource[] valueArray = values as TSource[];
+ if (valueArray == null)
+ {
+ List<TSource> valueList = new List<TSource>(values);
+ valueArray = valueList.ToArray();
+ }
+ return s_impl.StartWith<TSource>(source, scheduler, valueArray);
+ }
+
#endregion
#region + TakeLast +