// private Dispose method protected virtual void Dispose(bool disposing) { if (!_disposed) { // check if this is an explicit Dispose // only then clean up the directory entries if (disposing) { // dispose all directory entries foreach (DirectoryEntry entry in directoryEntryMgr.GetCachedDirectoryEntries()) { entry.Dispose(); } } _disposed = true; } }