public CsSolution(CsSolutionFile solutionFileData, IEnumerable <CsProjectFile> projectsData) { if (solutionFileData == null) { throw new ArgumentNullException(nameof(solutionFileData)); } if (!solutionFileData.IsValid()) { throw new ArgumentException(nameof(solutionFileData)); } if (projectsData == null) { throw new ArgumentNullException(nameof(projectsData)); } if (projectsData.Any(p => !p.IsValid())) { throw new ArgumentException(nameof(projectsData)); } Data = solutionFileData; ProjectsData = projectsData; }