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)); }
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); }
public ConfigReadTests() { _config = new DictionaryConfig { ["space"] = " ", ["empty"] = "" }; _readConfig = _config; }
public static bool?GetBool(this IReadOnlyConfig config, string key) { return(config.GetStruct(key, ParseBool)); }
public static TimeSpan?GetTimeSpan(this IReadOnlyConfig config, string key) { return(config.GetStruct(key, TimeSpan.Parse)); }
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))); }
public static long?GetInt64(this IReadOnlyConfig config, string key) { return(config.GetStruct(key, long.Parse)); }
public static int?GetInt32(this IReadOnlyConfig config, string key) { return(config.GetStruct(key, int.Parse)); }
public static string GetString(this IReadOnlyConfig config, string key) { var value = config[key]; return(value); }