EnvironmentExtensions.cs 682 Bytes
namespace CCE.Configuration.Extensions
{
	/// <summary>
	/// 
	/// </summary>
	public static class EnvironmentExtensions
	{
		/// <summary>
		/// Gets the value or default.
		/// </summary>
		/// <typeparam name="T"></typeparam>
		/// <param name="environment">The environment.</param>
		/// <param name="key">The key.</param>
		/// <param name="defaultValue">The default value.</param>
		/// <returns></returns>
		public static T GetValueOrDefault<T>(this ICCEEnvironment environment, string key, T defaultValue)
		{
			T res;

			if (environment.TryGetValue(key, out res))
			{
				return res;
			}

			environment.AddValue(key, defaultValue);
			return defaultValue;
		}
	}
}