public bool ParseNextLine(string line) { if (sectionDefinition != null && LastProcessingStatus == State.InProgress) { if (line == sectionEndTag) { LastProcessingStatus = State.Succeeded; LastSuccessfullyProcessedSection = sectionDefinition; sectionDefinition = null; return(false); } KeyValuePair <string, string> result; if (LineParserHelper.TryParseKeyValuePair(line, out result)) { sectionDefinition.Properties[result.Key] = result.Value; return(true); } LastProcessingStatus = State.Failed; } sectionDefinition = null; return(false); }
private bool TryParseProjectDefinitionFirstLine(string line) { KeyValuePair <string, string> result1; if (!LineParserHelper.TryParseKeyValuePair(line, out result1)) { return(false); } string[] arrayOfStrings = LineParserHelper.ParseArrayOfStrings(result1.Value); if (arrayOfStrings.Length != 3) { return(false); } int num1 = result1.Key.IndexOf('{'); int num2 = result1.Key.IndexOf('}'); Guid result2; if (num1 == -1 || num2 == -1 || num1 + 1 > num2 || !Guid.TryParse(result1.Key.Substring(num1 + 1, num2 - num1 - 1), out result2)) { return(false); } string name = arrayOfStrings[0]; string moniker = arrayOfStrings[1]; Guid result3; if (!Guid.TryParse(arrayOfStrings[2].Trim('{', '}'), out result3)) { return(false); } project = new ProjectDefinition(result2, name, moniker, result3); return(true); }