public TheImport(CORE.FileImporter importer) { Importer = importer; _uncConverter = new UncConverter2(); RootFolderOrUnc2RootFolder = new StringDictionary(); _remainingDriveLetters = new List<char>(); for (int pos = 65; pos < 91; pos++) { _remainingDriveLetters.Add(Convert.ToChar(pos)); } TemporaryMappedDrives = new List<NetworkDrive>(); Location2Id = new Dictionary<string, int>(); DriveLetters = new Dictionary<string, EnhancedDriveInfo>(); RootFoldersOfDrive = new Dictionary<EnhancedDriveInfo, List<string>>(); ItemsChainedByTagCache = new ItemsChainedByTagCache(this); if (Importer.ExcludeUnmatchedFiles) { UnmatchedFiles = new List<EnhancedFileInfo>(); } }
protected virtual void Dispose(bool calledFromCode) { if (!calledFromCode) return; Importer = null; _uncConverter.Dispose(); _uncConverter = null; RootFolderOrUnc2RootFolder.Clear(); RootFolderOrUnc2RootFolder = null; _remainingDriveLetters.Clear(); _remainingDriveLetters = null; TemporaryMappedDrives.Clear(); TemporaryMappedDrives = null; Location2Id.Clear(); Location2Id = null; RootFoldersOfDrive.Clear(); RootFoldersOfDrive = null; DriveLetters.Clear(); DriveLetters = null; Files = null; // Free other state (managed objects). // Free your own state (unmanaged objects). // Set large fields to null. }