aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Installer/Code/ModelExtensions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Installer/Code/ModelExtensions.cs')
-rw-r--r--MediaBrowser.Installer/Code/ModelExtensions.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/MediaBrowser.Installer/Code/ModelExtensions.cs b/MediaBrowser.Installer/Code/ModelExtensions.cs
index 5a3051164..66e51ec11 100644
--- a/MediaBrowser.Installer/Code/ModelExtensions.cs
+++ b/MediaBrowser.Installer/Code/ModelExtensions.cs
@@ -1,4 +1,6 @@

+using System.Collections.Generic;
+
namespace MediaBrowser.Installer.Code
{
/// <summary>
@@ -16,5 +18,26 @@ namespace MediaBrowser.Installer.Code
{
return string.IsNullOrEmpty(str) ? def : str;
}
+
+ /// <summary>
+ /// Helper method for Dictionaries since they throw on not-found keys
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <typeparam name="U"></typeparam>
+ /// <param name="dictionary">The dictionary.</param>
+ /// <param name="key">The key.</param>
+ /// <param name="defaultValue">The default value.</param>
+ /// <returns>``1.</returns>
+ public static U GetValueOrDefault<T, U>(this Dictionary<T, U> dictionary, T key, U defaultValue)
+ {
+ U val;
+ if (!dictionary.TryGetValue(key, out val))
+ {
+ val = defaultValue;
+ }
+ return val;
+
+ }
+
}
}