예제 #1
0
        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);
        }
예제 #2
0
 private void PerformIncrementalLookup()
 {
     if (incremental == null)
     {
         incremental = new IncrementalLookup <TSource, TKey>(source.AsNotifiable(), keySelector);
         incremental.Successors.SetDummy();
     }
 }
예제 #3
0
 public INotifyEnumerable <TSource> AsNotifiable()
 {
     if (Incremental == null)
     {
         parent.PerformIncrementalLookup();
         Incremental = parent.incremental.GetLookup(key);
     }
     return(Incremental);
 }