2021-02-10 14:53:56 +01:00
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
namespace zero.Core.Extensions
|
|
|
|
|
{
|
|
|
|
|
public static class DictionaryExtensions
|
|
|
|
|
{
|
|
|
|
|
public static bool TryGetValue<T>(this Dictionary<string, object> model, string key, out T value)
|
|
|
|
|
{
|
|
|
|
|
if (!model.TryGetValue(key, out object valueObj) || !(valueObj is T))
|
|
|
|
|
{
|
|
|
|
|
value = default;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
value = (T)valueObj;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static T GetValueOrDefault<T>(this Dictionary<string, object> model, string key)
|
|
|
|
|
{
|
2021-03-02 16:16:29 +01:00
|
|
|
object value = model.GetValueOrDefault(key);
|
2021-02-10 14:53:56 +01:00
|
|
|
return value == default || !(value is T) ? default : (T)value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|