Table of Contents

Class DisposableCollection

Namespace
CarinaStudio
Assembly
CarinaStudio.AppBase.Core.dll

Collection which collects one or more IDisposables and dispose them automatically when disposing the collection.

public class DisposableCollection : BaseDisposable, IDisposable, ICollection<IDisposable>, IEnumerable<IDisposable>, IEnumerable
Inheritance
DisposableCollection
Implements
Inherited Members
Extension Methods

Constructors

DisposableCollection()

Initialize new DisposableCollection instance.

public DisposableCollection()

DisposableCollection(params IDisposable[])

Initialize new DisposableCollection instance.

public DisposableCollection(params IDisposable[] disposables)

Parameters

disposables IDisposable[]

Initial IDisposables to be added to the collection.

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>.

Methods

Add(IDisposable)

Adds an item to the ICollection<T>.

public void Add(IDisposable item)

Parameters

item IDisposable

The object to add to the ICollection<T>.

Exceptions

NotSupportedException

The ICollection<T> is read-only.

Clear()

Removes all items from the ICollection<T>.

public void Clear()

Exceptions

NotSupportedException

The ICollection<T> is read-only.

Contains(IDisposable)

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

public bool Contains(IDisposable item)

Parameters

item IDisposable

The object to locate in the ICollection<T>.

Returns

bool

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

CopyTo(IDisposable[], int)

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

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

Parameters

array IDisposable[]

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.

Dispose(bool)

Called to dispose instance.

protected override void Dispose(bool disposing)

Parameters

disposing bool

True to release managed resources also.

GetEnumerator()

Returns an enumerator that iterates through the collection.

public IEnumerator<IDisposable> GetEnumerator()

Returns

IEnumerator<IDisposable>

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

Remove(IDisposable)

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

public bool Remove(IDisposable item)

Parameters

item IDisposable

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.