IQueryLanguageEx.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132
  1. // Licensed to the .NET Foundation under one or more agreements.
  2. // The .NET Foundation licenses this file to you under the Apache 2.0 License.
  3. // See the LICENSE file in the project root for more information.
  4. using System.Collections.Generic;
  5. using System.Reactive.Concurrency;
  6. namespace System.Reactive.Linq
  7. {
  8. /// <summary>
  9. /// Internal interface describing the LINQ to Events query language.
  10. /// </summary>
  11. internal interface IQueryLanguageEx
  12. {
  13. IObservable<TResult> Create<TResult>(Func<IObserver<TResult>, IEnumerable<IObservable<object>>> iteratorMethod);
  14. IObservable<Unit> Create(Func<IEnumerable<IObservable<object>>> iteratorMethod);
  15. IObservable<TSource> Expand<TSource>(IObservable<TSource> source, Func<TSource, IObservable<TSource>> selector);
  16. IObservable<TSource> Expand<TSource>(IObservable<TSource> source, Func<TSource, IObservable<TSource>> selector, IScheduler scheduler);
  17. IObservable<TResult> ForkJoin<TFirst, TSecond, TResult>(IObservable<TFirst> first, IObservable<TSecond> second, Func<TFirst, TSecond, TResult> resultSelector);
  18. IObservable<TSource[]> ForkJoin<TSource>(params IObservable<TSource>[] sources);
  19. IObservable<TSource[]> ForkJoin<TSource>(IEnumerable<IObservable<TSource>> sources);
  20. IObservable<TResult> Let<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, IObservable<TResult>> function);
  21. IObservable<TResult> ManySelect<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector);
  22. IObservable<TResult> ManySelect<TSource, TResult>(IObservable<TSource> source, Func<IObservable<TSource>, TResult> selector, IScheduler scheduler);
  23. ListObservable<TSource> ToListObservable<TSource>(IObservable<TSource> source);
  24. }
  25. }