public void LoadFile(string path) { if (!File.Exists(path)) { throw new FileNotFoundException("Unable to locate " + path); } filepath = path; StreamReader reader = new StreamReader(path); string line; string currentSection = null; while (!reader.EndOfStream) { LineEntry lineEntry = new LineEntry(); line = reader.ReadLine().Trim(); if (line.Length == 0) { lineEntry.type = LineType.empty; } else if (IsComment(line)) { lineEntry.type = LineType.comment; lineEntry.comment = line; } else if (IsSectionName(line)) { lineEntry.type = LineType.section; lineEntry.section = line.Substring(1, line.Length - 2); currentSection = lineEntry.section; } else if (IsParameterDefinition(line)) { int offset = line.IndexOf("="); string value = null; if (line.Length > offset + 1) { value = line.Substring(offset + 1).Trim(); } lineEntry.type = LineType.parameter; lineEntry.section = currentSection; lineEntry.parameter = line.Substring(0, offset).Trim(); lineEntry.value = value; } lines.Add(lineEntry); } reader.Close(); }
public void AddParameter(string ParameterName, string Value = null, string SectionName = null) { if (!SectionExists(SectionName)) { return; } if (ParameterExists(ParameterName, SectionName)) { return; } LineEntry le = new LineEntry(); le.type = LineType.parameter; le.section = SectionName; le.parameter = ParameterName; le.value = Value; lines.Insert(getIndexForNewParameter(SectionName), le); }
public string GetParameterValue(string ParameterName, string SectionName) { LineEntry le = lines.Find(x => x.section == SectionName && x.parameter == ParameterName); return(le.value); }