void Set <T>(string key, T value) { lock (locker) { switch (value) { case string s: UserDefaults.SetString(s, key); break; case int i: UserDefaults.SetInt(i, key); break; case bool b: UserDefaults.SetBool(b, key); break; case long l: var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); UserDefaults.SetString(valueString, key); break; case double d: UserDefaults.SetDouble(d, key); break; case float f: UserDefaults.SetFloat(f, key); break; } } }
public void Set(string key, double value) => Set(key, () => UserDefaults.SetDouble(value, MakeKey(key)));