示例#1
0
        public static string[] GetArgs(this IReadOnlyConfig config,
                                       string argsKey = ConfigUpdateEx.ArgsKey, string argsDelimiter = ConfigUpdateEx.ArgsDelimiter)
        {
            var args = config.GetString(argsKey);

            return(args?.Split(new[] { argsDelimiter }, StringSplitOptions.None));
        }
示例#2
0
        private static T?GetStruct <T>(this IReadOnlyConfig config, string key, Func <string, T> parse)
            where T : struct
        {
            var value = config[key];

            return(!string.IsNullOrWhiteSpace(value) ? parse(value) : (T?)null);
        }
示例#3
0
 public ConfigReadTests()
 {
     _config = new DictionaryConfig
     {
         ["space"] = " ",
         ["empty"] = ""
     };
     _readConfig = _config;
 }
示例#4
0
 public static bool?GetBool(this IReadOnlyConfig config, string key)
 {
     return(config.GetStruct(key, ParseBool));
 }
示例#5
0
 public static TimeSpan?GetTimeSpan(this IReadOnlyConfig config, string key)
 {
     return(config.GetStruct(key, TimeSpan.Parse));
 }
示例#6
0
 public static T?GetEnum <T>(this IReadOnlyConfig config, string key)
     where T : struct
 {
     return(config.GetStruct(key, s => (T)Enum.Parse(typeof(T), s, true)));
 }
示例#7
0
 public static long?GetInt64(this IReadOnlyConfig config, string key)
 {
     return(config.GetStruct(key, long.Parse));
 }
示例#8
0
 public static int?GetInt32(this IReadOnlyConfig config, string key)
 {
     return(config.GetStruct(key, int.Parse));
 }
示例#9
0
        public static string GetString(this IReadOnlyConfig config, string key)
        {
            var value = config[key];

            return(value);
        }