Show / Hide Table of Contents

Class IncrementalLookup<TSource, TKey>

Implements an incremental lookup

Inheritance
object
ObservableEnumerable<TKey>
IncrementalLookup<TSource, TKey>
Implements
INotifyEnumerable<TKey>
INotifyEnumerable
INotifiable
ICollection<TKey>
IEnumerable<TKey>
IEnumerable
INotifyCollectionChanged
IDisposable
ISuccessorList
INotifyLookup<TSource, TKey>
Inherited Members
ObservableEnumerable<TKey>.OnAddItem(TKey, int)
ObservableEnumerable<TKey>.OnAddItems(IEnumerable<TKey>, int)
ObservableEnumerable<TKey>.ToString()
ObservableEnumerable<TKey>.RaiseEvents(IList<TKey>, IList<TKey>, IList<TKey>, int, int)
ObservableEnumerable<TKey>.OnRemoveItem(TKey, int)
ObservableEnumerable<TKey>.OnRemoveItems(IEnumerable<TKey>, int)
ObservableEnumerable<TKey>.OnReplaceItems(IEnumerable<TKey>, IEnumerable<TKey>, int)
ObservableEnumerable<TKey>.OnCleared()
ObservableEnumerable<TKey>.OnReplaceItem(TKey, TKey, int)
ObservableEnumerable<TKey>.OnMoveItem(TKey, int, int)
ObservableEnumerable<TKey>.OnMoveItems(IEnumerable<TKey>, int, int)
ObservableEnumerable<TKey>.HasEventSubscriber
ObservableEnumerable<TKey>.OnCollectionChanged(NotifyCollectionChangedEventArgs)
ObservableEnumerable<TKey>.CollectionChanged
ObservableEnumerable<TKey>.Dispose()
ObservableEnumerable<TKey>.Add(TKey)
ObservableEnumerable<TKey>.Clear()
ObservableEnumerable<TKey>.IsReadOnly
ObservableEnumerable<TKey>.Remove(TKey)
ObservableEnumerable<TKey>.Contains(TKey)
ObservableEnumerable<TKey>.CopyTo(TKey[], int)
ObservableEnumerable<TKey>.Count
ObservableEnumerable<TKey>.Successors
ObservableEnumerable<TKey>.ExecutionMetaData
ObservableEnumerable<TKey>.HasSuccessors
ObservableEnumerable<TKey>.IsAttached
ObservableEnumerable<TKey>.AllSuccessors
ObservableEnumerable<TKey>.Set(INotifiable)
ObservableEnumerable<TKey>.SetDummy()
ObservableEnumerable<TKey>.Unset(INotifiable, bool)
ObservableEnumerable<TKey>.UnsetAll()
ObservableEnumerable<TKey>.GetSuccessor(int)
ObservableEnumerable<TKey>.OnDetach()
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
Namespace: NMF.Expressions.Linq
Assembly: NMF.Expressions.Utilities.dll
Syntax
public class IncrementalLookup<TSource, TKey> : ObservableEnumerable<TKey>, INotifyEnumerable<TKey>, INotifyEnumerable, INotifiable, ICollection<TKey>, IEnumerable<TKey>, IEnumerable, INotifyCollectionChanged, IDisposable, ISuccessorList, INotifyLookup<TSource, TKey>
Type Parameters
Name Description
TSource

The source type of elements

TKey

The type along which the elements are grouped

Constructors

| Edit this page View Source

IncrementalLookup(INotifyEnumerable<TSource>, ObservingFunc<TSource, TKey>)

Creates an incremental lookup

Declaration
public IncrementalLookup(INotifyEnumerable<TSource> source, ObservingFunc<TSource, TKey> keySelector)
Parameters
Type Name Description
INotifyEnumerable<TSource> source

The source of elements

ObservingFunc<TSource, TKey> keySelector

A function that selects the keys for an element

Properties

| Edit this page View Source

Dependencies

Nodes that notify this node.

Declaration
public override IEnumerable<INotifiable> Dependencies { get; }
Property Value
Type Description
IEnumerable<INotifiable>
Overrides
ObservableEnumerable<TKey>.Dependencies
| Edit this page View Source

this[TKey]

Gets the collection of elements for the given key

Declaration
public INotifyEnumerable<TSource> this[TKey key] { get; }
Parameters
Type Name Description
TKey key

The key

Property Value
Type Description
INotifyEnumerable<TSource>

A collection of associated elements

| Edit this page View Source

Keys

Gets a collection of keys

Declaration
public INotifyEnumerable<TKey> Keys { get; }
Property Value
Type Description
INotifyEnumerable<TKey>

Methods

| Edit this page View Source

GetEnumerator()

Declaration
public override IEnumerator<TKey> GetEnumerator()
Returns
Type Description
IEnumerator<TKey>
Overrides
ObservableEnumerable<TKey>.GetEnumerator()
| Edit this page View Source

Notify(IList<INotificationResult>)

Gets called when one of the dependencies signals a notification.

Declaration
public override INotificationResult Notify(IList<INotificationResult> sources)
Parameters
Type Name Description
IList<INotificationResult> sources

Contains information about what triggered this notification.

Returns
Type Description
INotificationResult

An object describing the changes that happened in this notification.

Overrides
ObservableEnumerable<TKey>.Notify(IList<INotificationResult>)
| Edit this page View Source

OnAttach()

Gets called when a successor attaches and there was no successor before

Declaration
protected override void OnAttach()
Overrides
ObservableEnumerable<TKey>.OnAttach()

Implements

INotifyEnumerable<T>
INotifyEnumerable
INotifiable
ICollection<T>
IEnumerable<T>
IEnumerable
INotifyCollectionChanged
IDisposable
ISuccessorList
INotifyLookup<TSource, TKey>

Extension Methods

DebugExtensions.ExportToDgml(INotifiable, string)
DebugExtensions.Visualize(INotifiable)
ObservableExtensions.Cast<TResult>(INotifyEnumerable)
ObservableExtensions.OfType<TResult>(INotifyEnumerable)
ChunkExtensions.ChunkIndexed<T, TResult>(INotifyEnumerable<T>, int, Func<IEnumerableExpression<(T, int)>, int, TResult>)
ChunkExtensions.ChunkIndexed<T, TResult>(INotifyEnumerable<T>, int, Func<IEnumerableExpression<(T, int)>, int, TResult>, IChunkBalancingStrategyProvider)
ChunkExtensions.ChunkIndexed<T, TResult>(INotifyEnumerable<T>, int, Func<IEnumerableExpression<(T, int)>, int, TResult>, IChunkBalancingStrategyProvider<(T, int), TResult>)
ChunkExtensions.Chunk<T, TResult>(INotifyEnumerable<T>, int, Func<IEnumerableExpression<T>, int, TResult>)
ChunkExtensions.Chunk<T, TResult>(INotifyEnumerable<T>, int, Func<IEnumerableExpression<T>, int, TResult>, IChunkBalancingStrategyProvider)
ChunkExtensions.Chunk<T, TResult>(INotifyEnumerable<T>, int, Func<IEnumerableExpression<T>, int, TResult>, IChunkBalancingStrategyProvider<T, TResult>)
LookupExtensions.ToLookup<TSource, TKey>(INotifyEnumerable<TSource>, Expression<Func<TSource, TKey>>)
ObservableExtensions.All<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, bool>>)
ObservableExtensions.Any<TSource>(INotifyEnumerable<TSource>)
ObservableExtensions.Any<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, bool>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, decimal>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, double>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, int>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, long>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, decimal?>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, double?>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, int?>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, long?>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, float?>>)
ObservableExtensions.Average<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, float>>)
ObservableExtensions.Concat<TSource>(INotifyEnumerable<TSource>, IEnumerable<TSource>)
ObservableExtensions.Contains<TSource>(INotifyEnumerable<TSource>, TSource)
ObservableExtensions.Contains<TSource>(INotifyEnumerable<TSource>, TSource, IEqualityComparer<TSource>)
ObservableExtensions.Count<TSource>(INotifyEnumerable<TSource>)
ObservableExtensions.Count<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, bool>>)
ObservableExtensions.Distinct<TSource>(INotifyEnumerable<TSource>)
ObservableExtensions.Distinct<TSource>(INotifyEnumerable<TSource>, IEqualityComparer<TSource>)
ObservableExtensions.Except<TSource>(INotifyEnumerable<TSource>, IEnumerable<TSource>)
ObservableExtensions.Except<TSource>(INotifyEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
ObservableExtensions.FirstOrDefault<TSource>(INotifyEnumerable<TSource>)
ObservableExtensions.FirstOrDefault<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, bool>>)
ObservableExtensions.GroupBy<TSource, TKey>(INotifyEnumerable<TSource>, Expression<Func<TSource, TKey>>)
ObservableExtensions.GroupBy<TSource, TKey>(INotifyEnumerable<TSource>, Expression<Func<TSource, TKey>>, IEqualityComparer<TKey>)
ObservableExtensions.GroupBy<TSource, TKey>(INotifyEnumerable<TSource>, Expression<Func<TSource, TKey>>, Func<TSource, TKey>)
ObservableExtensions.GroupBy<TSource, TKey>(INotifyEnumerable<TSource>, Expression<Func<TSource, TKey>>, Func<TSource, TKey>, IEqualityComparer<TKey>)
ObservableExtensions.GroupBy<TSource, TKey, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TKey>>, Func<TSource, TKey>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, Func<TKey, IEnumerable<TSource>, TResult>)
ObservableExtensions.GroupBy<TSource, TKey, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TKey>>, Func<TSource, TKey>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, Func<TKey, IEnumerable<TSource>, TResult>, IEqualityComparer<TKey>)
ObservableExtensions.GroupBy<TSource, TKey, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>)
ObservableExtensions.GroupBy<TSource, TKey, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, IEqualityComparer<TKey>)
ObservableExtensions.GroupJoin<TOuter, TInner, TKey, TResult>(INotifyEnumerable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, IEnumerable<TInner>, TResult>>)
ObservableExtensions.GroupJoin<TOuter, TInner, TKey, TResult>(INotifyEnumerable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, IEnumerable<TInner>, TResult>>, IEqualityComparer<TKey>)
ObservableExtensions.Intersect<TSource>(INotifyEnumerable<TSource>, IEnumerable<TSource>)
ObservableExtensions.Intersect<TSource>(INotifyEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
ObservableExtensions.IsProperSubsetOf<T>(INotifyEnumerable<T>, IEnumerable<T>)
ObservableExtensions.IsProperSubsetOf<T>(INotifyEnumerable<T>, IEnumerable<T>, IEqualityComparer<T>)
ObservableExtensions.IsProperSupersetOf<T>(INotifyEnumerable<T>, IEnumerable<T>)
ObservableExtensions.IsProperSupersetOf<T>(INotifyEnumerable<T>, IEnumerable<T>, IEqualityComparer<T>)
ObservableExtensions.IsSubsetOf<T>(INotifyEnumerable<T>, IEnumerable<T>)
ObservableExtensions.IsSubsetOf<T>(INotifyEnumerable<T>, IEnumerable<T>, IEqualityComparer<T>)
ObservableExtensions.IsSupersetOf<T>(INotifyEnumerable<T>, IEnumerable<T>)
ObservableExtensions.IsSupersetOf<T>(INotifyEnumerable<T>, IEnumerable<T>, IEqualityComparer<T>)
ObservableExtensions.Join<TOuter, TInner, TKey, TResult>(INotifyEnumerable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, TResult>>)
ObservableExtensions.Join<TOuter, TInner, TKey, TResult>(INotifyEnumerable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, TResult>>, IEqualityComparer<TKey>)
ObservableExtensions.Max<TSource>(INotifyEnumerable<TSource>, IComparer<TSource>)
ObservableExtensions.Max<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult?>>)
ObservableExtensions.Max<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult?>>, IComparer<TResult>)
ObservableExtensions.Max<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult>>)
ObservableExtensions.Max<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult>>, IComparer<TResult>)
ObservableExtensions.Min<TSource>(INotifyEnumerable<TSource>, IComparer<TSource>)
ObservableExtensions.Min<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult?>>)
ObservableExtensions.Min<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult?>>, IComparer<TResult>)
ObservableExtensions.Min<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult>>)
ObservableExtensions.Min<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult>>, IComparer<TResult>)
ObservableExtensions.OrderByDescending<TItem, TKey>(INotifyEnumerable<TItem>, Expression<Func<TItem, TKey>>)
ObservableExtensions.OrderByDescending<TItem, TKey>(INotifyEnumerable<TItem>, Expression<Func<TItem, TKey>>, IComparer<TKey>)
ObservableExtensions.OrderBy<TItem, TKey>(INotifyEnumerable<TItem>, Expression<Func<TItem, TKey>>)
ObservableExtensions.OrderBy<TItem, TKey>(INotifyEnumerable<TItem>, Expression<Func<TItem, TKey>>, IComparer<TKey>)
ObservableExtensions.SelectMany<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, IEnumerable<TResult>>>)
ObservableExtensions.SelectMany<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, IEnumerable<TResult>>>, Func<TSource, IEnumerable<TResult>>)
ObservableExtensions.SelectMany<TSource, TIntermediate, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, IEnumerable<TIntermediate>>>, Func<TSource, IEnumerable<TIntermediate>>, Expression<Func<TSource, TIntermediate, TResult>>, Func<TSource, TIntermediate, TResult>)
ObservableExtensions.SelectMany<TSource, TIntermediate, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, IEnumerable<TIntermediate>>>, Expression<Func<TSource, TIntermediate, TResult>>)
ObservableExtensions.Select<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult>>)
ObservableExtensions.Select<TSource, TResult>(INotifyEnumerable<TSource>, Expression<Func<TSource, TResult>>, Func<TSource, TResult>)
ObservableExtensions.SetEquals<T>(INotifyEnumerable<T>, IEnumerable<T>)
ObservableExtensions.SetEquals<T>(INotifyEnumerable<T>, IEnumerable<T>, IEqualityComparer<T>)
ObservableExtensions.SingleOrDefault<TSource>(INotifyEnumerable<TSource>)
ObservableExtensions.SingleOrDefault<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, bool>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, decimal>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, double>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, int>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, long>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, decimal?>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, double?>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, int?>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, long?>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, float?>>)
ObservableExtensions.Sum<TSource>(INotifyEnumerable<TSource>, Expression<Func<TSource, float>>)
ObservableExtensions.TopX<TItem, TKey>(INotifyEnumerable<TItem>, int, Expression<Func<TItem, TKey>>)
ObservableExtensions.TopX<TItem, TKey>(INotifyEnumerable<TItem>, int, Expression<Func<TItem, TKey>>, IComparer<TKey>)
ObservableExtensions.Union<TSource>(INotifyEnumerable<TSource>, IEnumerable<TSource>)
ObservableExtensions.Union<TSource>(INotifyEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
ObservableExtensions.Where<T>(INotifyEnumerable<T>, Expression<Func<T, bool>>)
ObservableExtensions.Where<T>(INotifyEnumerable<T>, Expression<Func<T, bool>>, Func<T, bool>)
ExpressionExtensions.AsOne<T>(T)
ObservableExtensions.WithUpdates<T>(ICollection<T>)
ChunkExtensions.ChunkIndexed<T, TResult>(IEnumerable<T>, int, Func<IEnumerableExpression<(T, int)>, int, TResult>)
ChunkExtensions.Chunk<T, TResult>(IEnumerable<T>, int, Func<IEnumerableExpression<T>, int, TResult>)
ObservableExtensions.WithUpdates<T>(IEnumerable<T>)
  • Edit this page
  • View Source
In this article
Back to top Generated by DocFX