public static object GetObject(this IConfigSettingElement settingElement, string objectSettingName, bool autoInit) { var objectAlias = settingElement.GetSetting(objectSettingName); var instance = ObjectService.Current.GetOrCreateObject(objectAlias); if (autoInit && instance is ISettingInitialize) { ((ISettingInitialize)instance).Init(settingElement.ConfigSetting); } return(instance); }
private static IConfigSettingElement GetSetting(ObjectServiceBase objectService, IObjectSetting objectSetting, IConfigSettingElement setting) { setting.ConfigSetting = objectService.GetObjectSettingInternal(objectSetting); var handlerName = objectSetting.SettingSet.Value; if(!string.IsNullOrEmpty(handlerName)) { var handler = objectService.GetOrCreateObject<ISettingHandler>(handlerName); if(handler != null) { setting = handler.GetSetting(setting); } } return setting; }
public static T GetObject <T>(this IConfigSettingElement settingElement, string objectSettingName, bool autoInit, Action <T> initializer) { var objectAlias = settingElement.GetSetting(objectSettingName); var instance = ObjectService.Current.GetOrCreateObject <T>(objectAlias); if (!Equals(instance, default(T)) && initializer != null) { initializer(instance); } if (autoInit && instance is ISettingInitialize) { ((ISettingInitialize)instance).Init(settingElement.ConfigSetting); } return(instance); }
/// <summary> /// 获取配置值集合 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="name">子节名</param> /// <param name="initializer">对元素进行初始化</param> /// <returns>配置值集合</returns> public static List <T> GetSettingsWithInitializer <T>(this IConfigSettingElement element, string name, Action <T> initializer) where T : IConfigSettingElement, new() { var list = new List <T>(); var setting = element.ConfigSetting; if (setting != null) { var settings = string.IsNullOrEmpty(name) ? setting.GetChildSettings() : setting.GetChildSettings(name); foreach (var item in settings) { var t = item.ToSetting <T>(); initializer?.Invoke(t); list.Add(t); } } return(list); }
/// <summary> /// 获取配置值 /// </summary> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <returns>配置值</returns> public static string GetCachedSetting(this IConfigSettingElement settingElement, string name) { return(settingElement.GetObjectContext(name, () => settingElement.GetSetting(name))); }
/// <summary> /// 获取配置值集合 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="name">子节名</param> /// <param name="settingName">子节名称</param> /// <returns>配置值集合</returns> public static List <T> GetSettings <T>(this IConfigSettingElement element, string name, string settingName) where T : IConfigSettingElement, new() { return(GetSettingsWithInitializer <T>(element, name, settingName, null)); }
/// <summary> /// 获取配置值 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <param name="defaultValue">值缺省值</param> /// <param name="required">是否必须配置</param> /// <returns>配置值</returns> public static T GetSetting <T>(this IConfigSettingElement settingElement, string name, T defaultValue = default, bool required = false) { return(settingElement.ConfigSetting.GetSetting(name, defaultValue, required)); }
public static T GetObject <T>(this IConfigSettingElement settingElement, string objectSettingName) { return(settingElement.GetObject <T>(objectSettingName, null)); }
/// <summary> /// 获取配置值 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <returns>配置值</returns> public static T GetSetting <T>(this IConfigSettingElement settingElement, string name) { return(settingElement.GetSetting(name, default(T))); }
public static T GetCachedObject <T>(this IConfigSettingElement settingElement, string objectSettingName, bool autoInit) { return(settingElement.GetCachedObject <T>(objectSettingName, autoInit, null)); }
public static T GetCachedObject <T>(this IConfigSettingElement settingElement, string objectSettingName, bool autoInit, Action <T> initializer) { return(settingElement.GetObjectContext(objectSettingName, () => settingElement.GetObject(objectSettingName, autoInit, initializer))); }
/// <summary> /// 获取配置值 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <param name="defaultValue">值缺省值</param> /// <returns>配置值</returns> public static T GetCachedSetting <T>(this IConfigSettingElement settingElement, string name, T defaultValue) { return(settingElement.GetObjectContext(name, () => settingElement.GetSetting(name, defaultValue))); }
/// <summary> /// 获取配置值 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <returns>配置值</returns> public static T GetCachedSetting <T>(this IConfigSettingElement settingElement) { return(settingElement.GetObjectContext(typeof(IConfigSettingElement), () => settingElement.GetSetting <T>())); }
/// <summary> /// 获取配置值集合 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <param name="settingName">集合值名</param> /// <param name="initializer">对元素进行初始化</param> /// <returns>配置值集合</returns> public static ICollection <T> GetRequiredSettingsWithInitializer <T>(this IConfigSettingElement settingElement, string name, string settingName, Action <T> initializer) where T : IConfigSettingElement, new() { return(settingElement.ConfigSetting.GetRequiredSettingsWithInitializer(name, settingName, initializer)); }
/// <summary> /// 获取配置值集合 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <param name="settingName">集合值名</param> /// <returns>配置值集合</returns> public static ICollection <T> GetRequiredSettings <T>(this IConfigSettingElement settingElement, string name, string settingName) where T : IConfigSettingElement, new() { return(settingElement.ConfigSetting.GetRequiredSettings <T>(name, settingName)); }
/// <summary> /// 获取必须配置的值 /// </summary> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <returns>配置值</returns> public static string GetRequiredSetting(this IConfigSettingElement settingElement, string name) { return(settingElement.ConfigSetting.GetRequiredSetting(name)); }
/// <summary> /// 获取必须配置的值 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <returns>配置值</returns> public static T GetRequiredSetting <T>(this IConfigSettingElement settingElement) { return(settingElement.ConfigSetting.GetRequiredSetting <T>()); }
/// <summary> /// 获取配置值 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <returns>配置值</returns> public static T GetSetting <T>(this IConfigSettingElement settingElement) { return(settingElement.GetSetting <T>(null)); }
public static T GetCachedObject <T>(this IConfigSettingElement settingElement, string objectSettingName, Action <T> initializer) { return(settingElement.GetCachedObject(objectSettingName, true, initializer)); }
/// <summary> /// 获取配置值集合 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <param name="settingName">集合值名</param> /// <returns>配置值集合</returns> public static T[] GetCachedSettings <T>(this IConfigSettingElement settingElement, string name, string settingName) where T : IConfigSettingElement, new() { return(settingElement.GetObjectContext(name, () => settingElement.GetSettings <T>(name, settingName).ToArray())); }
public static object GetCachedObject(this IConfigSettingElement settingElement, string objectSettingName, bool autoInit) { return(settingElement.GetObjectContext(objectSettingName, () => settingElement.GetObject(objectSettingName, autoInit))); }
/// <summary> /// 获取配置值集合 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <param name="settingName">集合值名</param> /// <param name="initializer">对元素进行初始化</param> /// <returns>配置值集合</returns> public static T[] GetCachedSettingsWithInitializer <T>(this IConfigSettingElement settingElement, string name, string settingName, Action <T> initializer) where T : IConfigSettingElement, new() { return(settingElement.GetObjectContext(name, () => settingElement.GetSettingsWithInitializer(name, settingName, initializer).ToArray())); }
private static IConfigSettingElement GetSetting(ObjectServiceBase objectService, IObjectSetting objectSetting, IConfigSettingElement setting) { setting.ConfigSetting = objectService.GetObjectSettingInternal(objectSetting); var handlerName = objectSetting.SettingSet.Value; if (!string.IsNullOrEmpty(handlerName)) { var handler = objectService.GetOrCreateObject <ISettingHandler>(handlerName); if (handler != null) { setting = handler.GetSetting(setting); } } return(setting); }
/// <summary> /// 获取配置值 /// </summary> /// <typeparam name="T">值类型</typeparam> /// <param name="settingElement">强类型配置实例</param> /// <param name="name">值名</param> /// <param name="defaultValue">值缺省值</param> /// <returns>配置值</returns> public static T GetSetting <T>(this IConfigSettingElement settingElement, string name, T defaultValue) { return(settingElement.ConfigSetting.GetSetting(name, defaultValue)); }