elsa-core/src/common/Elsa.Api.Common/Extensions/ObjectDictionaryExtensions.cs
2022-12-31 16:16:43 +01:00

15 lines
515 B
C#

// ReSharper disable once CheckNamespace
namespace Elsa.Extensions;
static class ObjectDictionaryExtensions
{
public static T GetOrAdd<T>(this IDictionary<object, object> dictionary, object key, Func<T> valueFactory)
{
if (dictionary.TryGetValue(key, out var value)) return (T)value;
value = valueFactory();
dictionary.Add(key, value!);
return (T)value!;
}
public static T Get<T>(this IDictionary<object, object> dictionary, object key) => (T)dictionary[key];
}