/// <summary> /// Write the section to the writer /// </summary> /// <param name="writer"></param> /// <param name="onlyProperties"></param> public void Write(TextWriter writer, bool onlyProperties) { BeforeSave(); try { Attribute[] classAttributes = Attribute.GetCustomAttributes(this.GetType()); IniSectionAttribute iniSectionAttribute = null; foreach (Attribute attribute in classAttributes) { if (attribute is IniSectionAttribute) { iniSectionAttribute = (IniSectionAttribute)attribute; break; } } if (iniSectionAttribute == null) { throw new ArgumentException("Section didn't implement the IniSectionAttribute"); } if (!onlyProperties) { writer.WriteLine("; {0}", iniSectionAttribute.Description); } writer.WriteLine("[{0}]", iniSectionAttribute.Name); foreach (IniValue value in Values.Values) { value.Write(writer, onlyProperties); } } finally { AfterSave(); } }
private static string getSectionName(Type iniSectionType) { Attribute[] classAttributes = Attribute.GetCustomAttributes(iniSectionType); foreach (Attribute attribute in classAttributes) { if (attribute is IniSectionAttribute) { IniSectionAttribute iniSectionAttribute = (IniSectionAttribute)attribute; return(iniSectionAttribute.Name); } } return(null); }