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
disposablesIDisposable[]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
itemIDisposableThe 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
itemIDisposableThe object to locate in the ICollection<T>.
Returns
- bool
true if
itemis 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
arrayIDisposable[]The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing.
arrayIndexintThe zero-based index in
arrayat which copying begins.
Exceptions
- ArgumentNullException
arrayis null.- ArgumentOutOfRangeException
arrayIndexis less than 0.- ArgumentException
The number of elements in the source ICollection<T> is greater than the available space from
arrayIndexto the end of the destinationarray.
Dispose(bool)
Called to dispose instance.
protected override void Dispose(bool disposing)
Parameters
disposingboolTrue 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
itemIDisposableThe object to remove from the ICollection<T>.
Returns
- bool
true if
itemwas successfully removed from the ICollection<T>; otherwise, false. This method also returns false ifitemis not found in the original ICollection<T>.
Exceptions
- NotSupportedException
The ICollection<T> is read-only.