// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace System.Reactive.Linq
{
///
/// Represents an observable sequence of elements that have a common key.
///
///
/// The type of the key shared by all elements in the group.
/// 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.
///
///
/// The type of the elements in the group.
/// 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.
///
#if !NO_VARIANCE
public interface IGroupedObservable : IObservable
#else
public interface IGroupedObservable : IObservable
#endif
{
///
/// Gets the common key.
///
TKey Key { get; }
}
}