/// <summary> /// Removes a disposable object to the list of the objects to dispose. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="toDisposeArg">To dispose.</param> protected internal void RemoveToDispose <T>(T toDisposeArg) { if (!ReferenceEquals(toDisposeArg, null) && DisposeCollector != null) { DisposeCollector.Remove(toDisposeArg); } }
/// <summary> /// Dispose a disposable object and set the reference to null. Removes this object from the ToDispose list. /// </summary> /// <param name="objectToDispose">Object to dispose.</param> protected internal void RemoveAndDispose <T>(ref T objectToDispose) { if (!ReferenceEquals(objectToDispose, null) && DisposeCollector != null) { DisposeCollector.RemoveAndDispose(ref objectToDispose); } }
/// <summary> /// Disposes of object resources. /// </summary> /// <param name="disposeManagedResources">If true, managed resources should be /// disposed of in addition to unmanaged resources.</param> protected virtual void Dispose(bool disposeManagedResources) { if (!disposeManagedResources) { return; } // Dispose all ComObjects DisposeCollector?.Dispose(); DisposeCollector = null; }
/// <summary> /// Adds a disposable object to the list of the objects to dispose. /// </summary> /// <param name="toDisposeArg">To dispose.</param> protected internal T ToDispose <T>(T toDisposeArg) { if (!ReferenceEquals(toDisposeArg, null)) { if (DisposeCollector == null) { DisposeCollector = new DisposeCollector(); } return(DisposeCollector.Collect(toDisposeArg)); } return(default(T)); }
/// <summary> /// Disposes of object resources. /// </summary> /// <param name="disposeManagedResources">If true, managed resources should be /// disposed of in addition to unmanaged resources.</param> protected virtual void Dispose(bool disposeManagedResources) { if (disposeManagedResources) { // Dispose all ComObjects if (DisposeCollector != null) { DisposeCollector.Dispose(); } DisposeCollector = null; } }