Show / Hide Table of Contents

Class ObservableEnumerable<T>

Denotes an abstract base class for collection-valued DDG nodes

Inheritance
object
ObservableEnumerable<T>
IncrementalLookup<TSource, TKey>
Implements
INotifyEnumerable<T>
INotifyEnumerable
INotifiable
ICollection<T>
IEnumerable<T>
IEnumerable
INotifyCollectionChanged
IDisposable
ISuccessorList
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
Namespace: NMF.Expressions.Linq
Assembly: NMF.Expressions.Linq.dll
Syntax
public abstract class ObservableEnumerable<T> : INotifyEnumerable<T>, INotifyEnumerable, INotifiable, ICollection<T>, IEnumerable<T>, IEnumerable, INotifyCollectionChanged, IDisposable, ISuccessorList
Type Parameters
Name Description
T

The type of elements

Properties

| Edit this page View Source

AllSuccessors

Declaration
public IEnumerable<INotifiable> AllSuccessors { get; }
Property Value
Type Description
IEnumerable<INotifiable>
| Edit this page View Source

Count

Declaration
public virtual int Count { get; }
Property Value
Type Description
int
| Edit this page View Source

Dependencies

Nodes that notify this node.

Declaration
public abstract IEnumerable<INotifiable> Dependencies { get; }
Property Value
Type Description
IEnumerable<INotifiable>
| Edit this page View Source

ExecutionMetaData

Used by the execution engine during incremental execution.

Declaration
public ExecutionMetaData ExecutionMetaData { get; }
Property Value
Type Description
ExecutionMetaData
| Edit this page View Source

HasEventSubscriber

Indicates whether the collection has event subscribers attached

Declaration
protected bool HasEventSubscriber { get; }
Property Value
Type Description
bool
| Edit this page View Source

HasSuccessors

True, if there is any successor, otherwise False

Declaration
public bool HasSuccessors { get; }
Property Value
Type Description
bool
| Edit this page View Source

IsAttached

True, if successors are attached, otherwise False

Declaration
public bool IsAttached { get; }
Property Value
Type Description
bool
| Edit this page View Source

IsReadOnly

Declaration
public virtual bool IsReadOnly { get; }
Property Value
Type Description
bool
| Edit this page View Source

Successors

The nodes that will get notified by this node.

Declaration
public ISuccessorList Successors { get; }
Property Value
Type Description
ISuccessorList

Methods

| Edit this page View Source

Add(T)

Declaration
public virtual void Add(T item)
Parameters
Type Name Description
T item
| Edit this page View Source

Clear()

Declaration
public virtual void Clear()
| Edit this page View Source

Contains(T)

Declaration
public virtual bool Contains(T item)
Parameters
Type Name Description
T item
Returns
Type Description
bool
| Edit this page View Source

CopyTo(T[], int)

Declaration
public void CopyTo(T[] array, int arrayIndex)
Parameters
Type Name Description
T[] array
int arrayIndex
| Edit this page View Source

Dispose()

Declaration
public void Dispose()
| Edit this page View Source

GetEnumerator()

Declaration
public abstract IEnumerator<T> GetEnumerator()
Returns
Type Description
IEnumerator<T>
| Edit this page View Source

GetSuccessor(int)

Gets the successor at the given index

Declaration
public INotifiable GetSuccessor(int index)
Parameters
Type Name Description
int index

The index

Returns
Type Description
INotifiable

The DDG node with the given index

| Edit this page View Source

Notify(IList<INotificationResult>)

Gets called when one of the dependencies signals a notification.

Declaration
public abstract 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.

| Edit this page View Source

OnAddItem(T, int)

Raises the collection changed event for an added item

Declaration
protected void OnAddItem(T item, int index = -1)
Parameters
Type Name Description
T item

The item that is added

int index

The index at which the item is added or -1

| Edit this page View Source

OnAddItems(IEnumerable<T>, int)

Raises the collection changed event for added items

Declaration
protected void OnAddItems(IEnumerable<T> items, int index = -1)
Parameters
Type Name Description
IEnumerable<T> items

The items that are added

int index

The start index at which items are added

| Edit this page View Source

OnAttach()

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

Declaration
protected virtual void OnAttach()
| Edit this page View Source

OnCleared()

Raises the event that the collection was cleared

Declaration
protected void OnCleared()
| Edit this page View Source

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Raises a collection changed event

Declaration
protected void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
Parameters
Type Name Description
NotifyCollectionChangedEventArgs e

the event data

| Edit this page View Source

OnDetach()

Gets called when the last successor detaches

Declaration
protected virtual void OnDetach()
| Edit this page View Source

OnMoveItem(T, int, int)

Raises the event that the item was moved

Declaration
protected void OnMoveItem(T item, int oldIndex = 0, int newIndex = 0)
Parameters
Type Name Description
T item

the moved item

int oldIndex

the old index

int newIndex

the new index

| Edit this page View Source

OnMoveItems(IEnumerable<T>, int, int)

Raises the event that the items were moved

Declaration
protected void OnMoveItems(IEnumerable<T> items, int oldIndex = 0, int newIndex = 0)
Parameters
Type Name Description
IEnumerable<T> items

the moved items

int oldIndex

the old index

int newIndex

the new index

| Edit this page View Source

OnRemoveItem(T, int)

Raises the event that an item was removed

Declaration
protected void OnRemoveItem(T item, int index = -1)
Parameters
Type Name Description
T item

The item that was removed

int index

The index at which the item was removed or -1

| Edit this page View Source

OnRemoveItems(IEnumerable<T>, int)

Raises the event that items were removed

Declaration
protected void OnRemoveItems(IEnumerable<T> items, int index = -1)
Parameters
Type Name Description
IEnumerable<T> items

The items that have been removed

int index

The index at which items have been removed

| Edit this page View Source

OnReplaceItem(T, T, int)

Raises the event that the item was replaced

Declaration
protected void OnReplaceItem(T old, T item, int index = -1)
Parameters
Type Name Description
T old

the old item

T item

the new item

int index

the index of the elemnt or -1

| Edit this page View Source

OnReplaceItems(IEnumerable<T>, IEnumerable<T>, int)

Raises the event that items were replaced

Declaration
protected void OnReplaceItems(IEnumerable<T> oldItems, IEnumerable<T> newItems, int index = -1)
Parameters
Type Name Description
IEnumerable<T> oldItems

the old items

IEnumerable<T> newItems

the new items

int index

the index at which the items have been replaced

| Edit this page View Source

RaiseEvents(IList<T>, IList<T>, IList<T>, int, int)

Raises the events for the collections of changes

Declaration
protected void RaiseEvents(IList<T> added, IList<T> removed, IList<T> moved, int oldItemsStartIndex = -1, int newItemsStartIndex = -1)
Parameters
Type Name Description
IList<T> added

A list of the added items

IList<T> removed

A list of the removed items

IList<T> moved

A list of the moved items

int oldItemsStartIndex

the start index of old items or -1

int newItemsStartIndex

the start index of new items or -1

| Edit this page View Source

Remove(T)

Declaration
public virtual bool Remove(T item)
Parameters
Type Name Description
T item
Returns
Type Description
bool
| Edit this page View Source

Set(INotifiable)

Add the given DDG node to the list

Declaration
public void Set(INotifiable node)
Parameters
Type Name Description
INotifiable node

The DDG node to add

| Edit this page View Source

SetDummy()

Sets a dummy

Declaration
public void SetDummy()
| Edit this page View Source

ToString()

Declaration
public override string ToString()
Returns
Type Description
string
Overrides
object.ToString()
| Edit this page View Source

Unset(INotifiable, bool)

Unset the given DDG node as successor

Declaration
public void Unset(INotifiable node, bool leaveDummy = false)
Parameters
Type Name Description
INotifiable node

the DDG node

bool leaveDummy

True, to leave the dummy in operation, otherwise False

| Edit this page View Source

UnsetAll()

Clear the list

Declaration
public void UnsetAll()

Events

| Edit this page View Source

CollectionChanged

Declaration
public event NotifyCollectionChangedEventHandler CollectionChanged
Event Type
Type Description
NotifyCollectionChangedEventHandler

Implements

INotifyEnumerable<T>
INotifyEnumerable
INotifiable
ICollection<T>
IEnumerable<T>
IEnumerable
INotifyCollectionChanged
IDisposable
ISuccessorList

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