using System.Diagnostics.CodeAnalysis; namespace InnovEnergy.Lib.Units.Composite; public record Ac1Phase ( Voltage Voltage, Current Current, Angle Phi, Frequency Frequency ) : AcPhase(Voltage, Current, Phi) { [SuppressMessage("ReSharper", "RedundantCast")] public static Ac1Phase operator +(Ac1Phase left, Ac1Phase right) { var f = (left.Frequency + right.Frequency) / 2m; // TODO: check that l & r approximately equal var acPhase = (AcPhase)left + (AcPhase)right; return new Ac1Phase(acPhase.Voltage, acPhase.Current, acPhase.Phi, f); } }