public static TypeLookup <T> Create(IEnumerable <T> enumerable) { var lookup = new TypeLookup <T>(); var groups = enumerable.MultiGroupBy(x => Util.GetBaseTypes(x)); foreach (var group in groups) { lookup.Content.Add(group.Key, group); } return(lookup); }
public static TypeLookup <TSource> ToTypeLookup <TSource>(this IEnumerable <TSource> enumerable) { return(TypeLookup <TSource> .Create(enumerable)); }