예제 #1
0
 public ConfigurationEntry(string key, IConfigurationEntry <IReadOnlyDictionary <string, object> > config, Func <object, T> converter = null)
 {
     _key       = key;
     _converter = converter;
     Refresh(config.Value, false);
     config.OnChanged += () => Refresh(config.Value, true);
 }
예제 #2
0
 public static ConfigurationEntry <T> CreateConfigEntry <T>(this IConfigurationEntry <IReadOnlyDictionary <string, object> > config, string name)
 {
     return(new ConfigurationEntry <T>(name, config));
 }
예제 #3
0
 public static ConfigurationEntry <IReadOnlyDictionary <string, T[]> > CreateDictionaryOfArrayEntry <T>(this IConfigurationEntry <IReadOnlyDictionary <string, object> > config, string name, IReadOnlyDictionary <string, T[]> defaultValue)
 {
     return(new ConfigurationEntry <IReadOnlyDictionary <string, T[]> >(
                name,
                config,
                defaultValue,
                o => ((Dictionary <string, object>)o).ToDictionary(p => p.Key, p => ((object[])p.Value)?.Cast <T>().ToArray())));
 }
예제 #4
0
 public static ConfigurationEntry <IReadOnlyDictionary <string, T> > CreateDictionaryEntry <T>(this IConfigurationEntry <IReadOnlyDictionary <string, object> > config, string name, IReadOnlyDictionary <string, T> defaultValue)
 {
     return(new ConfigurationEntry <IReadOnlyDictionary <string, T> >(name, config, defaultValue, o => ((Dictionary <string, object>)o).ToDictionary(p => p.Key, p => (T)p.Value)));
 }
예제 #5
0
 public static ConfigurationEntry <T[]> CreateArrayEntry <T>(this IConfigurationEntry <IReadOnlyDictionary <string, object> > config, string name, T[] defaultValue)
 {
     return(new ConfigurationEntry <T[]>(name, config, defaultValue, o => ((object[])o).Cast <T>().ToArray()));
 }
예제 #6
0
 public ConfigurationChangedEventArgsugh(IConfigurationEntry old, IConfigurationEntry @new)
 {
     Old = old;
     New = @new;
 }