public virtual object LoadConfiguration(Type configType, string filename, ConfigFile parent) { ConfigFile configFile = null; TextReader textReader = null; filename = filename.Replace("$(AppDir)", PathHelper.AppDir); filename = filename.Replace("$(UserAppDir)", PathHelper.UserAppDir); filename = filename.Replace("$(BaseDir)", PathHelper.BaseDir); if (typeof(ConfigFile).IsAssignableFrom(configType)) { if (File.Exists(filename + ".override")) { try { String original = File.ReadAllText(filename); String overriding = File.ReadAllText(filename + ".override"); String tabContent = overriding.Replace("\n", "\n\t\t\t"); Int32 indexStart = original.IndexOf(coloringStart); Int32 indexEnd = original.IndexOf(coloringEnd); String replaceTarget = original.Substring(indexStart, indexEnd - indexStart + coloringEnd.Length); String finalContent = original.Replace(replaceTarget, tabContent); File.WriteAllText(filename, finalContent); File.Delete(filename + ".override"); } catch { /* NO ERRORS... */ } } textReader = new StreamReader(filename); configFile = Deserialize(textReader, configType) as ConfigFile; configFile.filename = filename; configFile.init(this, parent); } return(configFile); }
public virtual object LoadConfiguration(Type configType, string filename, ConfigFile parent) { ConfigFile configFile = null; Stream stream = null; TextReader textReader = null; configFile = null; if (typeof(ConfigFile).IsAssignableFrom(configType)) { stream = OpenFile(filename, parent); if (stream != null) { textReader = new StreamReader(stream); configFile = Deserialize(textReader, configType) as ConfigFile; configFile.filename = filename; configFile.init(this, parent); } } return(configFile); }