示例#1
0
文件: SlnFile.cs 项目: shuruev/Atom
        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);
        }
示例#2
0
文件: SlnFile.cs 项目: shuruev/Atom
        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);
        }