IGroupedObservable.cs 1.3 KB

1234567891011121314151617181920212223242526272829
  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. namespace System.Reactive.Linq
  5. {
  6. /// <summary>
  7. /// Represents an observable sequence of elements that have a common key.
  8. /// </summary>
  9. /// <typeparam name="TKey">
  10. /// The type of the key shared by all elements in the group.
  11. /// This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
  12. /// </typeparam>
  13. /// <typeparam name="TElement">
  14. /// The type of the elements in the group.
  15. /// This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
  16. /// </typeparam>
  17. #if !NO_VARIANCE
  18. public interface IGroupedObservable<out TKey, out TElement> : IObservable<TElement>
  19. #else
  20. public interface IGroupedObservable<TKey, TElement> : IObservable<TElement>
  21. #endif
  22. {
  23. /// <summary>
  24. /// Gets the common key.
  25. /// </summary>
  26. TKey Key { get; }
  27. }
  28. }