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>ICollection<TItem>IEnumerable<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
intThe 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
TItemThe 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
TItemThe 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
intThe 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 destinationarray
.
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
TItemThe 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
intThe zero-based index at which
item
should be inserted.item
TItemThe 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
TItemThe 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 ifitem
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
RemoveAt(int)
Removes the IList<T> item at the specified index.
public void RemoveAt(int index)
Parameters
index
intThe 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
Returns
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>>