//using System; //using System.Collections.Generic; //using System.Text; //using System.Collections; //namespace System.Linq //{ // internal class GroupedEnumerable : IEnumerable>, IEnumerable // { // IEnumerable _source; // Func _keySelector; // Func _elementSelector; // IEqualityComparer _comparer; // // Methods // public GroupedEnumerable ( // IEnumerable source, // Func keySelector, // Func elementSelector, // IEqualityComparer comparer) // { // if (source == null) throw new ArgumentNullException ("source"); // if (keySelector == null) throw new ArgumentNullException ("keySelector"); // if (elementSelector == null) throw new ArgumentNullException ("elementSelector"); // _source = source; // _keySelector = keySelector; // _elementSelector = elementSelector; // _comparer = comparer; // } // public IEnumerator> GetEnumerator () // { // return Lookup.Create (_source, _keySelector, _elementSelector, _comparer).GetEnumerator (); // } // IEnumerator IEnumerable.GetEnumerator () // { // return this.GetEnumerator (); // } // } //}