Table of Contents

Class FilteredObservableList<T>

Namespace
CarinaStudio.Collections
Assembly
CarinaStudio.AppBase.Core.dll

Implementation of IList<T> which filters elements from source IList<T>.

public class FilteredObservableList<T> : IList, ICollection, IList<T>, ICollection<T>, INotifyCollectionChanged, INotifyPropertyChanged, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable

Type Parameters

T

Type of element.

Inheritance
FilteredObservableList<T>
Implements
Inherited Members
Extension Methods

Constructors

FilteredObservableList(IList<T>, Predicate<T>?)

Initialize new FilteredObservableList<T> instance.

public FilteredObservableList(IList<T> source, Predicate<T>? filter = null)

Parameters

source IList<T>

Source list.

filter Predicate<T>

Filter function.

Properties

Count

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

public int Count { get; }

Property Value

int

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

Filter

Get or set filter function.

public Predicate<T>? Filter { get; set; }

Property Value

Predicate<T>

IsReadOnly

Gets a value indicating whether the ICollection<T> is read-only.

public bool IsReadOnly { get; }

Property Value

bool

true if the ICollection<T> is read-only; otherwise, false.

this[int]

Gets the element at the specified index in the read-only list.

public T this[int index] { get; }

Parameters

index int

The zero-based index of the element to get.

Property Value

T

The element at the specified index in the read-only list.

Methods

Contains(T)

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

public bool Contains(T item)

Parameters

item T

The object to locate in the ICollection<T>.

Returns

bool

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

CopyTo(T[], int)

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

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

Parameters

array T[]

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<T> GetEnumerator()

Returns

IEnumerator<T>

An enumerator that can be used to iterate through the collection.

IndexOf(T)

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

public int IndexOf(T item)

Parameters

item T

The object to locate in the IList<T>.

Returns

int

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

IsEmpty()

Check whether the list is empty or not.

public bool IsEmpty()

Returns

bool

True if the list is empty.

IsNotEmpty()

Check whether the list is not empty or not.

public bool IsNotEmpty()

Returns

bool

True if the list is not empty.

Events

CollectionChanged

Raised when collection changed.

public event NotifyCollectionChangedEventHandler? CollectionChanged

Event Type

NotifyCollectionChangedEventHandler

PropertyChanged

Raised when property changed.

public event PropertyChangedEventHandler? PropertyChanged

Event Type

PropertyChangedEventHandler