public static INotifyLookup <TSource, TKey> ToLookup <TSource, TKey>(this INotifyEnumerable <TSource> source, Expression <Func <TSource, TKey> > keySelector) { var lookup = new IncrementalLookup <TSource, TKey>(source, keySelector); lookup.Successors.SetDummy(); return(lookup); }
private void PerformIncrementalLookup() { if (incremental == null) { incremental = new IncrementalLookup <TSource, TKey>(source.AsNotifiable(), keySelector); incremental.Successors.SetDummy(); } }
public INotifyEnumerable <TSource> AsNotifiable() { if (Incremental == null) { parent.PerformIncrementalLookup(); Incremental = parent.incremental.GetLookup(key); } return(Incremental); }