using System.Text.Json.Serialization; namespace InnovEnergy.Lib.Units; public static class Units { static Units() { JsonConverters = typeof(Units) .Assembly .GetTypes() .Where(t => t.IsAssignableTo(typeof(JsonConverter))) .Select(Activator.CreateInstance) .Cast() .ToArray(); } public static IReadOnlyList JsonConverters { get; } public static Byte DisplaySignificantDigits { get; set; } = 3; public static Byte JsonSignificantDigits { get; set; } = 3; public const Decimal MaxRelativeError = 0.05m; // 5% public static Current A (this Decimal value) => new Current(value); public static Voltage V (this Decimal value) => new Voltage(value); public static Power W (this Decimal value) => new Power(value); public static ReactivePower Var (this Decimal value) => new ReactivePower(value); public static ApparentPower Va (this Decimal value) => new ApparentPower(value); public static Resistance Ohm (this Decimal value) => new Resistance(value); public static Frequency Hz (this Decimal value) => new Frequency(value); public static Angle Rad (this Decimal value) => new Angle(value); public static Temperature Celsius(this Decimal value) => new Temperature(value); }