using System; using System.Configuration; using System.Linq; namespace DataPro.Core.Config { public static class DataProConfig { private static readonly Configuration Config; // static constructor static DataProConfig() { var dataProConfig = new ExeConfigurationFileMap { ExeConfigFilename = DataProConstants.CustomConfigPath }; Config = ConfigurationManager.OpenMappedExeConfiguration(dataProConfig, ConfigurationUserLevel.None, true); } /// /// Static variable to hold alternate configuration file /// public static Configuration AltConfig { get { return Config; } } /// /// Static method to retrieve a setting from config file /// /// string /// string public static string GetAppSetting(string key) { var appSetting = Config.AppSettings.Settings.Cast().FirstOrDefault(setting => setting.Key == key); return appSetting == null ? String.Empty : appSetting.Value; } /// /// Static method to get a section from config file. Used by plugin code to get plugin library section. /// /// string /// object public static object GetSection(string sectionName) { return Config.GetSection(sectionName); } } }