public ConfigWatcher( IConfigLocator configLocator, IEventAggregator eventAggregator) { _configLocator = configLocator; _eventAggregator = eventAggregator; }
/// <summary> /// 设定配置的值 /// </summary> /// <typeparam name="T">值的类型</typeparam> /// <param name="name">配置名</param> /// <param name="value">配置的值</param> public void Set <T>(string name, T value) { Guard.NotNull(name, "name"); if (locators.Count <= 0) { throw new RuntimeException("No Reg locator. please Reg() locator first."); } IConfigLocator configLocator = null; string val; foreach (var locator in locators) { if (locator.TryGetValue(name, out val)) { configLocator = locator; } } if (configLocator == null) { configLocator = locators.Last(); } ITypeStringConverter converter; if (!typeStringConverters.TryGetValue(typeof(T), out converter)) { throw new ConverterException("Can not find [" + typeof(T) + "] coverter impl."); } configLocator.Set(name, converter.ConvertToString(value)); }
/// <summary> /// 构造配置容器 /// </summary> /// <param name="converters">转换器</param> /// <param name="locator">配置定位器</param> public Config(IConverters converters, IConfigLocator locator) { Guard.Requires <ArgumentNullException>(converters != null); Guard.Requires <ArgumentNullException>(locator != null); this.converters = converters; this.locator = locator; watches = new Dictionary <string, List <Action <object> > >(); }
public DeviceReenumerator( ILogger logger, IINIFile config, IConfigLocator configLocator) { _logger = logger; _config = config; _configLocator = configLocator; }
//TODO: Get configs to use this class, and then update the setup scripts & appveyor to load into appData public JsonConfigurationStore(IConfigLocator configLocator) { _configLocator = configLocator; }
/// <summary> /// 注册一个配置定位器 /// 框架会依次遍历配置定位器来获取配 /// </summary> /// <param name="locator">配置定位器</param> /// <param name="priority">查询优先级(值越小越优先)</param> public void Reg(IConfigLocator locator, int priority = int.MaxValue) { Guard.NotNull(locator, "locator"); locators.Add(locator, priority); }
public SharedVariablesProvider(IConfigLocator configLocator) { _configLocator = configLocator; }
/// <summary> /// 注册一个配置定位器 /// </summary> /// <param name="locator">配置定位器</param> public void SetLocator(IConfigLocator locator) { Guard.Requires <ArgumentNullException>(locator != null); this.locator = locator; }
public JsonEnvironmentProvider(IConfigLocator configLocator) { _configLocator = configLocator; }