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
IDisposableThe 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
IDisposableThe 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
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
.
Dispose(bool)
Called to dispose instance.
protected override void Dispose(bool disposing)
Parameters
disposing
boolTrue 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
IDisposableThe 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.