Ejemplo n.º 1
0
 public Lazy <bool> GetBool(string key, bool defaultValue)
 {
     return(new Lazy <bool>(() =>
     {
         string value = ConfigUtility.GetAppSetting(key);
         if (!string.IsNullOrEmpty(value))
         {
             if (bool.TryParse(value, out bool result))
             {
                 return result;
             }
             throw new FrameworkException("Invalid '" + key + "' parameter in configuration file: '" + value + "' is not a boolean value. Allowed values are True and False.");
         }
         else
         {
             return defaultValue;
         }
     }));
 }
Ejemplo n.º 2
0
 public Lazy <int> GetInt(string key, int defaultValue)
 {
     return(new Lazy <int>(() =>
     {
         string value = ConfigUtility.GetAppSetting(key);
         if (!string.IsNullOrEmpty(value))
         {
             if (int.TryParse(value, out int result))
             {
                 return result;
             }
             throw new FrameworkException("Invalid '" + key + "' parameter in configuration file: '" + value + "' is not an integer value.");
         }
         else
         {
             return defaultValue;
         }
     }));
 }
Ejemplo n.º 3
0
 public Lazy <T> GetEnum <T>(string key, T defaultValue) where T : struct
 {
     return(new Lazy <T>(() =>
     {
         var value = ConfigUtility.GetAppSetting(key);
         if (!string.IsNullOrEmpty(value))
         {
             if (Enum.TryParse(value, true, out T parsedValue))
             {
                 return parsedValue;
             }
             else
             {
                 throw new FrameworkException(
                     $"Invalid '{key}' parameter in configuration file: '{value}' is not a valid value." +
                     $" Allowed values are: {string.Join(", ", Enum.GetNames(typeof(T)))}.");
             }
         }
         else
         {
             return defaultValue;
         }
     }));
 }
Ejemplo n.º 4
0
 public Lazy <string> GetString(string key, string defaultValue)
 {
     return(new Lazy <string>(() => ConfigUtility.GetAppSetting(key) ?? defaultValue));
 }