private Solution(string solutionFilename) { _solutionFileInfo = new FileInfo(solutionFilename); SolutionFilename = _solutionFileInfo.FullName; Projects = new DirtyTrackingCollection <Project>(); Projects.DirtyChanged += OnDirtyChanged; Folders = new DirtyTrackingCollection <Folder>(); Folders.DirtyChanged += OnDirtyChanged; }
private Project(Solution solution, string projectFilename) { Solution = solution; _projectFileInfo = new FileInfo(projectFilename); ProjectFilename = _projectFileInfo.FullName; BuildConfigurations = new DirtyTrackingCollection <BuildConfiguration>(); BuildConfigurations.DirtyChanged += OnDirtyChanged; References = new DirtyTrackingCollection <Reference>(); References.DirtyChanged += OnDirtyChanged; ProjectReferences = new DirtyTrackingCollection <ProjectReference>(); ProjectReferences.DirtyChanged += OnDirtyChanged; _instances.Add(this); _fileWatcher = new FileSystemWatcher(Path.GetDirectoryName(ProjectFilename), Path.GetFileName(ProjectFilename)); _fileWatcher.Changed += _fileWatcher_Changed; }