public static bool TryGetValue <T>(this IVariableStore store, string key, out T value) { Type t; if (store.TryGetValueType(key, out t) && t != typeof(T)) { value = default; return(false); } value = store.GetValue <T>(key); return(true); }