using System.Collections; namespace InnovEnergy.Lib.Units.Composite; // removed to have it on S3. Find a better solution public record Ac3Bus // : IReadOnlyList { public required AcPhase L1 { get; init; } public required AcPhase L2 { get; init; } public required AcPhase L3 { get; init; } public required Frequency Frequency { get; init; } public AcPower Power => L1.Power + L2.Power + L3.Power; public static Ac3Bus Zero => new Ac3Bus { Frequency = 0, L1 = AcPhase.Zero, L2 = AcPhase.Zero, L3 = AcPhase.Zero, }; // public IEnumerator GetEnumerator() // { // yield return L1; // yield return L2; // yield return L3; // } // // IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); // // public Int32 Count => 3; // // public AcPhase this[Int32 index] => index switch // { // 0 => L1, // it's retarded // 1 => L2, // 2 => L3, // _ => throw new ArgumentOutOfRangeException(nameof(index)) // }; }