private static List <string> RenderProject(SlnFileProject project) { if (String.IsNullOrEmpty(project.TypeId)) { throw new ArgumentNullException(nameof(project.TypeId)); } if (String.IsNullOrEmpty(project.Name)) { throw new ArgumentNullException(nameof(project.Name)); } if (String.IsNullOrEmpty(project.Location)) { throw new ArgumentNullException(nameof(project.Location)); } if (String.IsNullOrEmpty(project.ProjectId)) { throw new ArgumentNullException(nameof(project.ProjectId)); } var list = new List <string>(); list.Add($"Project(\"{project.TypeId}\") = \"{project.Name}\", \"{project.Location}\", \"{project.ProjectId}\""); list.AddRange(project.ProjectSections.SelectMany(RenderProjectSection)); list.Add("EndProject"); return(list); }
private static bool ParseProjectBegin(string line, out SlnFileProject?project) { if (!line.StartsWith(ProjectBeginPrefix)) { project = null; return(false); } var parts = line.Split('"'); project = new SlnFileProject { TypeId = parts[1], Name = parts[3], Location = parts[5], ProjectId = parts[7] }; return(true); }