diff --git a/csharp/Lib/Units/State.cs b/csharp/Lib/Units/State.cs index 63b1c6d7c..90161a9b9 100644 --- a/csharp/Lib/Units/State.cs +++ b/csharp/Lib/Units/State.cs @@ -1,6 +1,8 @@ +using System.Collections; + namespace InnovEnergy.Lib.Units; -public readonly struct State +public readonly struct State : IReadOnlyList { public IReadOnlyList Values { get; } @@ -25,5 +27,11 @@ public readonly struct State public static State operator |(State left, State right) => new(left, right); + public IEnumerator GetEnumerator() => Values.GetEnumerator(); + public override String ToString() => String.Join("; ", Values); + IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + + public Int32 Count => Values.Count; + public String this[Int32 index] => Values[index]; } \ No newline at end of file