Table of Contents

Class ConvertibleObservableCollection<TItem, TDisplay>

Namespace
Ecng.ComponentModel
Assembly
Ecng.ComponentModel.dll

Collection which maps items to another type to display.

public class ConvertibleObservableCollection<TItem, TDisplay> : BaseObservableCollection, IConvertibleObservableCollection<TItem>, IListEx<TItem>, IList<TItem>, ICollection<TItem>, IEnumerable<TItem>, IEnumerable, ICollectionEx<TItem> where TDisplay : class

Type Parameters

TItem

Original item type.

TDisplay

Display item type.

Inheritance
ConvertibleObservableCollection<TItem, TDisplay>
Implements
IListEx<TItem>
IList<TItem>
ICollectionEx<TItem>
Inherited Members
Extension Methods

Constructors

ConvertibleObservableCollection(ICollection<TDisplay>, Func<TItem, TDisplay>)

Collection which maps items to another type to display.

public ConvertibleObservableCollection(ICollection<TDisplay> collection, Func<TItem, TDisplay> converter)

Parameters

collection ICollection<TDisplay>
converter Func<TItem, TDisplay>

Properties

Count

Gets the number of elements contained in the ICollection<T>.

public override int Count { get; }

Property Value

int

The number of elements contained in the ICollection<T>.

this[int]

Gets or sets the element at the specified index.

public TItem this[int index] { get; set; }

Parameters

index int

The zero-based index of the element to get or set.

Property Value

TItem

The element at the specified index.

Exceptions

ArgumentOutOfRangeException

index is not a valid index in the IList<T>.

NotSupportedException

The property is set and the IList<T> is read-only.

Items

public TItem[] Items { get; }

Property Value

TItem[]

Methods

Add(TItem)

Adds an item to the ICollection<T>.

public void Add(TItem item)

Parameters

item TItem

The object to add to the ICollection<T>.

Exceptions

NotSupportedException

The ICollection<T> is read-only.

AddRange(IEnumerable<TItem>)

public void AddRange(IEnumerable<TItem> items)

Parameters

items IEnumerable<TItem>

Clear()

public void Clear()

Contains(TItem)

Determines whether the ICollection<T> contains a specific value.

public bool Contains(TItem item)

Parameters

item TItem

The object to locate in the ICollection<T>.

Returns

bool

true if item is found in the ICollection<T>; otherwise, false.

CopyTo(TItem[], int)

Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.

public void CopyTo(TItem[] array, int arrayIndex)

Parameters

array TItem[]

The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing.

arrayIndex int

The zero-based index in array at which copying begins.

Exceptions

ArgumentNullException

array is null.

ArgumentOutOfRangeException

arrayIndex is less than 0.

ArgumentException

The number of elements in the source ICollection<T> is greater than the available space from arrayIndex to the end of the destination array.

GetEnumerator()

Returns an enumerator that iterates through the collection.

public IEnumerator<TItem> GetEnumerator()

Returns

IEnumerator<TItem>

A IEnumerator<T> that can be used to iterate through the collection.

IndexOf(TItem)

Determines the index of a specific item in the IList<T>.

public int IndexOf(TItem item)

Parameters

item TItem

The object to locate in the IList<T>.

Returns

int

The index of item if found in the list; otherwise, -1.

Insert(int, TItem)

Inserts an item to the IList<T> at the specified index.

public void Insert(int index, TItem item)

Parameters

index int

The zero-based index at which item should be inserted.

item TItem

The object to insert into the IList<T>.

Exceptions

ArgumentOutOfRangeException

index is not a valid index in the IList<T>.

NotSupportedException

The IList<T> is read-only.

Remove(TItem)

Removes the first occurrence of a specific object from the ICollection<T>.

public bool Remove(TItem item)

Parameters

item TItem

The object to remove from the ICollection<T>.

Returns

bool

true if item was successfully removed from the ICollection<T>; otherwise, false. This method also returns false if item is not found in the original ICollection<T>.

Exceptions

NotSupportedException

The ICollection<T> is read-only.

RemoveAll(Func<TItem, bool>)

Remove items for which pred returns true.

public void RemoveAll(Func<TItem, bool> pred)

Parameters

pred Func<TItem, bool>

RemoveAt(int)

Removes the IList<T> item at the specified index.

public void RemoveAt(int index)

Parameters

index int

The zero-based index of the item to remove.

Exceptions

ArgumentOutOfRangeException

index is not a valid index in the IList<T>.

NotSupportedException

The IList<T> is read-only.

RemoveRange(IEnumerable<TItem>)

public void RemoveRange(IEnumerable<TItem> items)

Parameters

items IEnumerable<TItem>

RemoveRange(int, int)

public override int RemoveRange(int index, int count)

Parameters

index int
count int

Returns

int

TryGet(TItem)

Get display item by item.

public TDisplay TryGet(TItem item)

Parameters

item TItem

Returns

TDisplay

Events

AddedRange

public event Action<IEnumerable<TItem>> AddedRange

Event Type

Action<IEnumerable<TItem>>

RemovedRange

public event Action<IEnumerable<TItem>> RemovedRange

Event Type

Action<IEnumerable<TItem>>