using System; namespace PrefsGUI { public abstract class PrefsMinMaxVector : PrefsMinMax { protected PrefsMinMaxVector(string key, T defaultValueMax = default) : base(key, defaultValueMax) { } protected PrefsMinMaxVector(string key, T defaultValueMin, T defaultValueMax) : base(key, defaultValueMin, defaultValueMax) { } static readonly Lazy zero = new(() => (T)typeof(T).GetProperty("zero").GetValue(null)); static readonly Lazy one = new(() => (T)typeof(T).GetProperty("one").GetValue(null)); public override T defaultMin => zero.Value; public override T defaultMax => one.Value; } }