diff --git a/Generator/Program.cs b/Generator/Program.cs index 447293a..bef8de3 100644 --- a/Generator/Program.cs +++ b/Generator/Program.cs @@ -6,25 +6,25 @@ using System; using System.Collections.Generic; -var sourceRoot = GetFullPath(Combine(GetDirectoryName(GetExecutingAssembly().Location)!, @"..\..\..\..")); +var sourceRoot = GetFullPath(Combine(GetDirectoryName(GetExecutingAssembly().Location)!, $"..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}..")); for (var i = 1; i < 10; i++) { var output = GetContent(true, i); - var outpath = Combine(sourceRoot, $"OneOf\\OneOfT{i - 1}.generated.cs"); + var outpath = Combine(sourceRoot, $"OneOf{Path.DirectorySeparatorChar}OneOfT{i - 1}.generated.cs"); File.WriteAllText(outpath, output); var output2 = GetContent(false, i); - var outpath2 = Combine(sourceRoot, $"OneOf\\OneOfBaseT{i - 1}.generated.cs"); + var outpath2 = Combine(sourceRoot, $"OneOf{Path.DirectorySeparatorChar}OneOfBaseT{i - 1}.generated.cs"); File.WriteAllText(outpath2, output2); } for (var i = 10; i < 33; i++) { var output3 = GetContent(true, i); - var outpath3 = Combine(sourceRoot, $"OneOf.Extended\\OneOfT{i - 1}.generated.cs"); + var outpath3 = Combine(sourceRoot, $"OneOf.Extended{Path.DirectorySeparatorChar}OneOfT{i - 1}.generated.cs"); File.WriteAllText(outpath3, output3); var output4 = GetContent(false, i); - var outpath4 = Combine(sourceRoot, $"OneOf.Extended\\OneOfBaseT{i - 1}.generated.cs"); + var outpath4 = Combine(sourceRoot, $"OneOf.Extended{Path.DirectorySeparatorChar}OneOfBaseT{i - 1}.generated.cs"); File.WriteAllText(outpath4, output4); } @@ -67,13 +67,14 @@ namespace OneOf }}" )} - public object Value => - _index switch - {{ - {RangeJoined(@" - ", j => $"{j} => _value{j},")} - _ => throw new InvalidOperationException() - }}; + public object Value {{ get {{ + switch (_index) + {{ + {RangeJoined(@" + ", j => $"case {j}: return _value{j};")} + default: throw new InvalidOperationException(); + }} + }} }} public int Index => _index; @@ -125,15 +126,15 @@ public TResult Match({RangeJoined(", ", e => $"Func f{e} {{ throw new ArgumentNullException(nameof(mapFunc)); }} - return _index switch + switch (_index) {{ {genericArgs.Joined(@" ", (x, k) => x == bindToType ? - $"{k} => mapFunc(As{x})," : - $"{k} => As{x},")} - _ => throw new InvalidOperationException() - }}; + $"case {k}: return mapFunc(As{x});" : + $"case {k}: return As{x};")} + default: throw new InvalidOperationException(); + }} }}"; }))} "); @@ -145,33 +146,35 @@ public TResult Match({RangeJoined(", ", e => $"Func f{e} var genericArgWithSkip = Range(0, i).ExceptSingle(j).Joined(", ", e => $"T{e}"); var remainderType = i == 2 ? genericArgWithSkip : $"OneOf<{genericArgWithSkip}>"; return $@" - public bool TryPickT{j}(out T{j} value, out {remainderType} remainder) - {{ - value = IsT{j} ? AsT{j} : default; - remainder = _index switch + public bool TryPickT{j}(out T{j} value, out {remainderType} remainder) + {{ + value = IsT{j} ? AsT{j} : default; + switch (_index) {{ {RangeJoined(@" - ", k => + ", k => k == j ? - $"{k} => default," : - $"{k} => AsT{k},")} - _ => throw new InvalidOperationException() - }}; - return this.IsT{j}; - }}"; + $"case {k}: {{ remainder = default; break; }}" : + $"case {k}: {{ remainder = AsT{k}; break; }}")} + default: throw new InvalidOperationException(); + }} + return this.IsT{j}; + }}"; }) ); } sb.AppendLine($@" - bool Equals({className}<{genericArg}> other) => - _index == other._index && - _index switch + bool Equals({className}<{genericArg}> other) {{ + var check1 = _index == other._index; + if (!check1) {{ return false; }} + switch (_index) {{ {RangeJoined(@" - ", j => @$"{j} => Equals(_value{j}, other._value{j}),")} - _ => false + ", j => @$"case {j}: return check1 && Equals(_value{j}, other._value{j});")} + default: return false; }}; + }} public override bool Equals(object obj) {{ @@ -190,23 +193,25 @@ public override bool Equals(object obj) )} }} - public override string ToString() => - _index switch {{ + public override string ToString() {{ + switch (_index) {{ {RangeJoined(@" - ", j => $"{j} => FormatValue(_value{j}),")} - _ => throw new InvalidOperationException(""Unexpected index, which indicates a problem in the OneOf codegen."") - }}; + ", j => $"case {j}: return FormatValue(_value{j});")} + default: throw new InvalidOperationException(""Unexpected index, which indicates a problem in the OneOf codegen.""); + }} + }} public override int GetHashCode() {{ unchecked {{ - int hashCode = _index switch + int hashCode; + switch (_index) {{ {RangeJoined(@" - ", j => $"{j} => _value{j}?.GetHashCode(),")} - _ => 0 - }} ?? 0; + ", j => $"case {j}: {{ hashCode = _value{j}?.GetHashCode() ?? 0; break; }}")} + default: {{ hashCode = 0; break; }} + }} return (hashCode*397) ^ _index; }} }} @@ -228,4 +233,4 @@ public static string Joined(this IEnumerable source, string delimiter, Fun } public static IEnumerable ExceptSingle(this IEnumerable source, T single) => source.Except(Repeat(single, 1)); public static void AppendLineTo(this string? s, StringBuilder sb) => sb.AppendLine(s); -} \ No newline at end of file +} diff --git a/OneOf.Extended/OneOfBaseT10.generated.cs b/OneOf.Extended/OneOfBaseT10.generated.cs index 3c61780..bc5fe21 100644 --- a/OneOf.Extended/OneOfBaseT10.generated.cs +++ b/OneOf.Extended/OneOfBaseT10.generated.cs @@ -38,22 +38,23 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -229,254 +230,256 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + default: return false; }; + } public override bool Equals(object obj) { @@ -492,41 +495,43 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT11.generated.cs b/OneOf.Extended/OneOfBaseT11.generated.cs index cc72a59..c00bd3c 100644 --- a/OneOf.Extended/OneOfBaseT11.generated.cs +++ b/OneOf.Extended/OneOfBaseT11.generated.cs @@ -40,23 +40,24 @@ protected OneOfBase(OneOf inpu } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -246,288 +247,290 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + default: return false; }; + } public override bool Equals(object obj) { @@ -543,43 +546,45 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT12.generated.cs b/OneOf.Extended/OneOfBaseT12.generated.cs index 7b9c66d..8887ea4 100644 --- a/OneOf.Extended/OneOfBaseT12.generated.cs +++ b/OneOf.Extended/OneOfBaseT12.generated.cs @@ -42,24 +42,25 @@ protected OneOfBase(OneOf } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -263,324 +264,326 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + default: return false; }; + } public override bool Equals(object obj) { @@ -596,45 +599,47 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT13.generated.cs b/OneOf.Extended/OneOfBaseT13.generated.cs index ccf0cd7..97c1e1e 100644 --- a/OneOf.Extended/OneOfBaseT13.generated.cs +++ b/OneOf.Extended/OneOfBaseT13.generated.cs @@ -44,25 +44,26 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -280,362 +281,364 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + default: return false; }; + } public override bool Equals(object obj) { @@ -651,47 +654,49 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT14.generated.cs b/OneOf.Extended/OneOfBaseT14.generated.cs index cade467..243fbaf 100644 --- a/OneOf.Extended/OneOfBaseT14.generated.cs +++ b/OneOf.Extended/OneOfBaseT14.generated.cs @@ -46,26 +46,27 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -297,402 +298,404 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + default: return false; }; + } public override bool Equals(object obj) { @@ -708,49 +711,51 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT15.generated.cs b/OneOf.Extended/OneOfBaseT15.generated.cs index 05132d2..21d1de9 100644 --- a/OneOf.Extended/OneOfBaseT15.generated.cs +++ b/OneOf.Extended/OneOfBaseT15.generated.cs @@ -48,27 +48,28 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -314,444 +315,446 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + default: return false; }; + } public override bool Equals(object obj) { @@ -767,51 +770,53 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT16.generated.cs b/OneOf.Extended/OneOfBaseT16.generated.cs index d59e70a..2ceb4b1 100644 --- a/OneOf.Extended/OneOfBaseT16.generated.cs +++ b/OneOf.Extended/OneOfBaseT16.generated.cs @@ -50,28 +50,29 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -331,488 +332,490 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + default: return false; }; + } public override bool Equals(object obj) { @@ -828,53 +831,55 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT17.generated.cs b/OneOf.Extended/OneOfBaseT17.generated.cs index b50d501..3c992d2 100644 --- a/OneOf.Extended/OneOfBaseT17.generated.cs +++ b/OneOf.Extended/OneOfBaseT17.generated.cs @@ -52,29 +52,30 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -348,534 +349,536 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + default: return false; }; + } public override bool Equals(object obj) { @@ -891,55 +894,57 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT18.generated.cs b/OneOf.Extended/OneOfBaseT18.generated.cs index 9749b93..6b75083 100644 --- a/OneOf.Extended/OneOfBaseT18.generated.cs +++ b/OneOf.Extended/OneOfBaseT18.generated.cs @@ -54,30 +54,31 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -365,582 +366,584 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + default: return false; }; + } public override bool Equals(object obj) { @@ -956,57 +959,59 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT19.generated.cs b/OneOf.Extended/OneOfBaseT19.generated.cs index 76a2c60..c6eea28 100644 --- a/OneOf.Extended/OneOfBaseT19.generated.cs +++ b/OneOf.Extended/OneOfBaseT19.generated.cs @@ -56,31 +56,32 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -382,632 +383,634 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + default: return false; }; + } public override bool Equals(object obj) { @@ -1023,59 +1026,61 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT20.generated.cs b/OneOf.Extended/OneOfBaseT20.generated.cs index 7f69d8f..382173e 100644 --- a/OneOf.Extended/OneOfBaseT20.generated.cs +++ b/OneOf.Extended/OneOfBaseT20.generated.cs @@ -58,32 +58,33 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -399,684 +400,686 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + default: return false; }; + } public override bool Equals(object obj) { @@ -1092,61 +1095,63 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT21.generated.cs b/OneOf.Extended/OneOfBaseT21.generated.cs index a6b02ee..a97313f 100644 --- a/OneOf.Extended/OneOfBaseT21.generated.cs +++ b/OneOf.Extended/OneOfBaseT21.generated.cs @@ -60,33 +60,34 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -416,738 +417,740 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + default: return false; }; + } public override bool Equals(object obj) { @@ -1163,63 +1166,65 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT22.generated.cs b/OneOf.Extended/OneOfBaseT22.generated.cs index daca4ef..dda6392 100644 --- a/OneOf.Extended/OneOfBaseT22.generated.cs +++ b/OneOf.Extended/OneOfBaseT22.generated.cs @@ -62,34 +62,35 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -433,794 +434,796 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + default: return false; }; + } public override bool Equals(object obj) { @@ -1236,65 +1239,67 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT23.generated.cs b/OneOf.Extended/OneOfBaseT23.generated.cs index 78a26b5..eee77ce 100644 --- a/OneOf.Extended/OneOfBaseT23.generated.cs +++ b/OneOf.Extended/OneOfBaseT23.generated.cs @@ -64,35 +64,36 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -450,852 +451,854 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + default: return false; }; + } public override bool Equals(object obj) { @@ -1311,67 +1314,69 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT24.generated.cs b/OneOf.Extended/OneOfBaseT24.generated.cs index c291a10..685037c 100644 --- a/OneOf.Extended/OneOfBaseT24.generated.cs +++ b/OneOf.Extended/OneOfBaseT24.generated.cs @@ -66,36 +66,37 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -467,912 +468,914 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + default: return false; }; + } public override bool Equals(object obj) { @@ -1388,69 +1391,71 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT25.generated.cs b/OneOf.Extended/OneOfBaseT25.generated.cs index dc06dc9..3582714 100644 --- a/OneOf.Extended/OneOfBaseT25.generated.cs +++ b/OneOf.Extended/OneOfBaseT25.generated.cs @@ -68,37 +68,38 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -484,974 +485,976 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + default: return false; }; + } public override bool Equals(object obj) { @@ -1467,71 +1470,73 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT26.generated.cs b/OneOf.Extended/OneOfBaseT26.generated.cs index edd010b..c668cde 100644 --- a/OneOf.Extended/OneOfBaseT26.generated.cs +++ b/OneOf.Extended/OneOfBaseT26.generated.cs @@ -70,38 +70,39 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -501,1038 +502,1040 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + default: return false; }; + } public override bool Equals(object obj) { @@ -1548,73 +1551,75 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT27.generated.cs b/OneOf.Extended/OneOfBaseT27.generated.cs index ae54cde..55f5f1b 100644 --- a/OneOf.Extended/OneOfBaseT27.generated.cs +++ b/OneOf.Extended/OneOfBaseT27.generated.cs @@ -72,39 +72,40 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -518,1104 +519,1106 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + default: return false; }; + } public override bool Equals(object obj) { @@ -1631,75 +1634,77 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT28.generated.cs b/OneOf.Extended/OneOfBaseT28.generated.cs index 611c63e..9a86269 100644 --- a/OneOf.Extended/OneOfBaseT28.generated.cs +++ b/OneOf.Extended/OneOfBaseT28.generated.cs @@ -74,40 +74,41 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - 28 => _value28, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + case 28: return _value28; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -535,1172 +536,1174 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - public bool TryPickT28(out T28 value, out OneOf remainder) - { - value = IsT28 ? AsT28 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT28; - } + public bool TryPickT28(out T28 value, out OneOf remainder) + { + value = IsT28 ? AsT28 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT28; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - 28 => Equals(_value28, other._value28), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + case 28: return check1 && Equals(_value28, other._value28); + default: return false; }; + } public override bool Equals(object obj) { @@ -1716,77 +1719,79 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - 28 => FormatValue(_value28), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + case 28: return FormatValue(_value28); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - 28 => _value28?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + case 28: { hashCode = _value28?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT29.generated.cs b/OneOf.Extended/OneOfBaseT29.generated.cs index 8348e0d..511e096 100644 --- a/OneOf.Extended/OneOfBaseT29.generated.cs +++ b/OneOf.Extended/OneOfBaseT29.generated.cs @@ -76,41 +76,42 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - 28 => _value28, - 29 => _value29, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + case 28: return _value28; + case 29: return _value29; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -552,1242 +553,1244 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - public bool TryPickT28(out T28 value, out OneOf remainder) - { - value = IsT28 ? AsT28 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => default, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT28; - } + public bool TryPickT28(out T28 value, out OneOf remainder) + { + value = IsT28 ? AsT28 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = default; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT28; + } - public bool TryPickT29(out T29 value, out OneOf remainder) - { - value = IsT29 ? AsT29 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT29; - } + public bool TryPickT29(out T29 value, out OneOf remainder) + { + value = IsT29 ? AsT29 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT29; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - 28 => Equals(_value28, other._value28), - 29 => Equals(_value29, other._value29), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + case 28: return check1 && Equals(_value28, other._value28); + case 29: return check1 && Equals(_value29, other._value29); + default: return false; }; + } public override bool Equals(object obj) { @@ -1803,79 +1806,81 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - 28 => FormatValue(_value28), - 29 => FormatValue(_value29), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + case 28: return FormatValue(_value28); + case 29: return FormatValue(_value29); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - 28 => _value28?.GetHashCode(), - 29 => _value29?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + case 28: { hashCode = _value28?.GetHashCode() ?? 0; break; } + case 29: { hashCode = _value29?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT30.generated.cs b/OneOf.Extended/OneOfBaseT30.generated.cs index 25229bd..746702e 100644 --- a/OneOf.Extended/OneOfBaseT30.generated.cs +++ b/OneOf.Extended/OneOfBaseT30.generated.cs @@ -78,42 +78,43 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - 28 => _value28, - 29 => _value29, - 30 => _value30, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + case 28: return _value28; + case 29: return _value29; + case 30: return _value30; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -569,1314 +570,1316 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - public bool TryPickT28(out T28 value, out OneOf remainder) - { - value = IsT28 ? AsT28 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => default, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT28; - } + public bool TryPickT28(out T28 value, out OneOf remainder) + { + value = IsT28 ? AsT28 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = default; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT28; + } - public bool TryPickT29(out T29 value, out OneOf remainder) - { - value = IsT29 ? AsT29 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => default, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT29; - } + public bool TryPickT29(out T29 value, out OneOf remainder) + { + value = IsT29 ? AsT29 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = default; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT29; + } - public bool TryPickT30(out T30 value, out OneOf remainder) - { - value = IsT30 ? AsT30 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT30; - } + public bool TryPickT30(out T30 value, out OneOf remainder) + { + value = IsT30 ? AsT30 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT30; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - 28 => Equals(_value28, other._value28), - 29 => Equals(_value29, other._value29), - 30 => Equals(_value30, other._value30), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + case 28: return check1 && Equals(_value28, other._value28); + case 29: return check1 && Equals(_value29, other._value29); + case 30: return check1 && Equals(_value30, other._value30); + default: return false; }; + } public override bool Equals(object obj) { @@ -1892,81 +1895,83 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - 28 => FormatValue(_value28), - 29 => FormatValue(_value29), - 30 => FormatValue(_value30), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + case 28: return FormatValue(_value28); + case 29: return FormatValue(_value29); + case 30: return FormatValue(_value30); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - 28 => _value28?.GetHashCode(), - 29 => _value29?.GetHashCode(), - 30 => _value30?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + case 28: { hashCode = _value28?.GetHashCode() ?? 0; break; } + case 29: { hashCode = _value29?.GetHashCode() ?? 0; break; } + case 30: { hashCode = _value30?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT31.generated.cs b/OneOf.Extended/OneOfBaseT31.generated.cs index 9a1fa4d..9abf2fc 100644 --- a/OneOf.Extended/OneOfBaseT31.generated.cs +++ b/OneOf.Extended/OneOfBaseT31.generated.cs @@ -80,43 +80,44 @@ protected OneOfBase(OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - 28 => _value28, - 29 => _value29, - 30 => _value30, - 31 => _value31, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + case 28: return _value28; + case 29: return _value29; + case 30: return _value30; + case 31: return _value31; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -586,1388 +587,1390 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - public bool TryPickT28(out T28 value, out OneOf remainder) - { - value = IsT28 ? AsT28 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => default, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT28; - } + public bool TryPickT28(out T28 value, out OneOf remainder) + { + value = IsT28 ? AsT28 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = default; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT28; + } - public bool TryPickT29(out T29 value, out OneOf remainder) - { - value = IsT29 ? AsT29 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => default, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT29; - } + public bool TryPickT29(out T29 value, out OneOf remainder) + { + value = IsT29 ? AsT29 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = default; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT29; + } - public bool TryPickT30(out T30 value, out OneOf remainder) - { - value = IsT30 ? AsT30 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => default, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT30; - } + public bool TryPickT30(out T30 value, out OneOf remainder) + { + value = IsT30 ? AsT30 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = default; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT30; + } - public bool TryPickT31(out T31 value, out OneOf remainder) - { - value = IsT31 ? AsT31 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT31; - } + public bool TryPickT31(out T31 value, out OneOf remainder) + { + value = IsT31 ? AsT31 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT31; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - 28 => Equals(_value28, other._value28), - 29 => Equals(_value29, other._value29), - 30 => Equals(_value30, other._value30), - 31 => Equals(_value31, other._value31), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + case 28: return check1 && Equals(_value28, other._value28); + case 29: return check1 && Equals(_value29, other._value29); + case 30: return check1 && Equals(_value30, other._value30); + case 31: return check1 && Equals(_value31, other._value31); + default: return false; }; + } public override bool Equals(object obj) { @@ -1983,83 +1986,85 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - 28 => FormatValue(_value28), - 29 => FormatValue(_value29), - 30 => FormatValue(_value30), - 31 => FormatValue(_value31), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + case 28: return FormatValue(_value28); + case 29: return FormatValue(_value29); + case 30: return FormatValue(_value30); + case 31: return FormatValue(_value31); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - 28 => _value28?.GetHashCode(), - 29 => _value29?.GetHashCode(), - 30 => _value30?.GetHashCode(), - 31 => _value31?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + case 28: { hashCode = _value28?.GetHashCode() ?? 0; break; } + case 29: { hashCode = _value29?.GetHashCode() ?? 0; break; } + case 30: { hashCode = _value30?.GetHashCode() ?? 0; break; } + case 31: { hashCode = _value31?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfBaseT9.generated.cs b/OneOf.Extended/OneOfBaseT9.generated.cs index 9510257..bf31b46 100644 --- a/OneOf.Extended/OneOfBaseT9.generated.cs +++ b/OneOf.Extended/OneOfBaseT9.generated.cs @@ -36,21 +36,22 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -212,222 +213,224 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - _ => false + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + default: return false; }; + } public override bool Equals(object obj) { @@ -443,39 +446,41 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT10.generated.cs b/OneOf.Extended/OneOfT10.generated.cs index 4388f8b..cdcf9b1 100644 --- a/OneOf.Extended/OneOfT10.generated.cs +++ b/OneOf.Extended/OneOfT10.generated.cs @@ -34,22 +34,23 @@ public struct OneOf : IOneOf _value10 = value10; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -250,21 +251,21 @@ public OneOf MapT0(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -273,21 +274,21 @@ public OneOf MapT1(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -296,21 +297,21 @@ public OneOf MapT2(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -319,21 +320,21 @@ public OneOf MapT3(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -342,21 +343,21 @@ public OneOf MapT4(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -365,21 +366,21 @@ public OneOf MapT5(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -388,21 +389,21 @@ public OneOf MapT6(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -411,21 +412,21 @@ public OneOf MapT7(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -434,21 +435,21 @@ public OneOf MapT8(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -457,21 +458,21 @@ public OneOf MapT9(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -480,271 +481,273 @@ public OneOf MapT10(Fu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + default: return false; }; + } public override bool Equals(object obj) { @@ -756,41 +759,43 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT11.generated.cs b/OneOf.Extended/OneOfT11.generated.cs index 85e4e29..7b4a699 100644 --- a/OneOf.Extended/OneOfT11.generated.cs +++ b/OneOf.Extended/OneOfT11.generated.cs @@ -36,23 +36,24 @@ public struct OneOf : IOneOf _value11 = value11; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -269,22 +270,22 @@ public OneOf MapT0 mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -293,22 +294,22 @@ public OneOf MapT1 AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -317,22 +318,22 @@ public OneOf MapT2 AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -341,22 +342,22 @@ public OneOf MapT3 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -365,22 +366,22 @@ public OneOf MapT4 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -389,22 +390,22 @@ public OneOf MapT5 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -413,22 +414,22 @@ public OneOf MapT6 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -437,22 +438,22 @@ public OneOf MapT7 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -461,22 +462,22 @@ public OneOf MapT8 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -485,22 +486,22 @@ public OneOf MapT9 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -509,22 +510,22 @@ public OneOf MapT10 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -533,306 +534,308 @@ public OneOf MapT11 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + default: return false; }; + } public override bool Equals(object obj) { @@ -844,43 +847,45 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT12.generated.cs b/OneOf.Extended/OneOfT12.generated.cs index 18d58ab..e49a4bc 100644 --- a/OneOf.Extended/OneOfT12.generated.cs +++ b/OneOf.Extended/OneOfT12.generated.cs @@ -38,24 +38,25 @@ public struct OneOf : IOn _value12 = value12; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -288,23 +289,23 @@ public OneOf MapT0 mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -313,23 +314,23 @@ public OneOf MapT1 AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -338,23 +339,23 @@ public OneOf MapT2 AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -363,23 +364,23 @@ public OneOf MapT3 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -388,23 +389,23 @@ public OneOf MapT4 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -413,23 +414,23 @@ public OneOf MapT5 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -438,23 +439,23 @@ public OneOf MapT6 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -463,23 +464,23 @@ public OneOf MapT7 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -488,23 +489,23 @@ public OneOf MapT8 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -513,23 +514,23 @@ public OneOf MapT9 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -538,23 +539,23 @@ public OneOf MapT10 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -563,23 +564,23 @@ public OneOf MapT11 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -588,343 +589,345 @@ public OneOf MapT12 AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + default: return false; }; + } public override bool Equals(object obj) { @@ -936,45 +939,47 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT13.generated.cs b/OneOf.Extended/OneOfT13.generated.cs index eb7bd16..8e2343c 100644 --- a/OneOf.Extended/OneOfT13.generated.cs +++ b/OneOf.Extended/OneOfT13.generated.cs @@ -40,25 +40,26 @@ public struct OneOf _value13 = value13; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -307,24 +308,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -333,24 +334,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -359,24 +360,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -385,24 +386,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -411,24 +412,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -437,24 +438,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -463,24 +464,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -489,24 +490,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -515,24 +516,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -541,24 +542,24 @@ public OneOf Ma { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -567,24 +568,24 @@ public OneOf Map { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -593,24 +594,24 @@ public OneOf Map { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -619,24 +620,24 @@ public OneOf Map { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -645,382 +646,384 @@ public OneOf Map { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + default: return false; }; + } public override bool Equals(object obj) { @@ -1032,47 +1035,49 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT14.generated.cs b/OneOf.Extended/OneOfT14.generated.cs index 0acf85e..990d9c5 100644 --- a/OneOf.Extended/OneOfT14.generated.cs +++ b/OneOf.Extended/OneOfT14.generated.cs @@ -42,26 +42,27 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -326,25 +327,25 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -353,25 +354,25 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -380,25 +381,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -407,25 +408,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -434,25 +435,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -461,25 +462,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -488,25 +489,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -515,25 +516,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -542,25 +543,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -569,25 +570,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -596,25 +597,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -623,25 +624,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -650,25 +651,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -677,25 +678,25 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -704,423 +705,425 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + default: return false; }; + } public override bool Equals(object obj) { @@ -1132,49 +1135,51 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT15.generated.cs b/OneOf.Extended/OneOfT15.generated.cs index 336d399..a770fa4 100644 --- a/OneOf.Extended/OneOfT15.generated.cs +++ b/OneOf.Extended/OneOfT15.generated.cs @@ -44,27 +44,28 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -345,26 +346,26 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -373,26 +374,26 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -401,26 +402,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -429,26 +430,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -457,26 +458,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -485,26 +486,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -513,26 +514,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -541,26 +542,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -569,26 +570,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -597,26 +598,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -625,26 +626,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -653,26 +654,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -681,26 +682,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -709,26 +710,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -737,26 +738,26 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -765,466 +766,468 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + default: return false; }; + } public override bool Equals(object obj) { @@ -1236,51 +1239,53 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT16.generated.cs b/OneOf.Extended/OneOfT16.generated.cs index 2382dfd..76893aa 100644 --- a/OneOf.Extended/OneOfT16.generated.cs +++ b/OneOf.Extended/OneOfT16.generated.cs @@ -46,28 +46,29 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -364,27 +365,27 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -393,27 +394,27 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -422,27 +423,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -451,27 +452,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -480,27 +481,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -509,27 +510,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -538,27 +539,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -567,27 +568,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -596,27 +597,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -625,27 +626,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -654,27 +655,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -683,27 +684,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -712,27 +713,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -741,27 +742,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -770,27 +771,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -799,27 +800,27 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -828,511 +829,513 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + default: return false; }; + } public override bool Equals(object obj) { @@ -1344,53 +1347,55 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT17.generated.cs b/OneOf.Extended/OneOfT17.generated.cs index ad571ba..7334aee 100644 --- a/OneOf.Extended/OneOfT17.generated.cs +++ b/OneOf.Extended/OneOfT17.generated.cs @@ -48,29 +48,30 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -383,28 +384,28 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -413,28 +414,28 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -443,28 +444,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -473,28 +474,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -503,28 +504,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -533,28 +534,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -563,28 +564,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -593,28 +594,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -623,28 +624,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -653,28 +654,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -683,28 +684,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -713,28 +714,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -743,28 +744,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -773,28 +774,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -803,28 +804,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -833,28 +834,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -863,28 +864,28 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -893,558 +894,560 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + default: return false; }; + } public override bool Equals(object obj) { @@ -1456,55 +1459,57 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT18.generated.cs b/OneOf.Extended/OneOfT18.generated.cs index e0e91e3..c5cd9b5 100644 --- a/OneOf.Extended/OneOfT18.generated.cs +++ b/OneOf.Extended/OneOfT18.generated.cs @@ -50,30 +50,31 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -402,29 +403,29 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -433,29 +434,29 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -464,29 +465,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -495,29 +496,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -526,29 +527,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -557,29 +558,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -588,29 +589,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -619,29 +620,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -650,29 +651,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -681,29 +682,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -712,29 +713,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -743,29 +744,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -774,29 +775,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -805,29 +806,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -836,29 +837,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -867,29 +868,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -898,29 +899,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -929,29 +930,29 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -960,607 +961,609 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + default: return false; }; + } public override bool Equals(object obj) { @@ -1572,57 +1575,59 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT19.generated.cs b/OneOf.Extended/OneOfT19.generated.cs index 31b8e88..a62b47b 100644 --- a/OneOf.Extended/OneOfT19.generated.cs +++ b/OneOf.Extended/OneOfT19.generated.cs @@ -52,31 +52,32 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -421,30 +422,30 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -453,30 +454,30 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -485,30 +486,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -517,30 +518,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -549,30 +550,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -581,30 +582,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -613,30 +614,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -645,30 +646,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -677,30 +678,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -709,30 +710,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -741,30 +742,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -773,30 +774,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -805,30 +806,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -837,30 +838,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -869,30 +870,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -901,30 +902,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -933,30 +934,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -965,30 +966,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -997,30 +998,30 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1029,658 +1030,660 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + default: return false; }; + } public override bool Equals(object obj) { @@ -1692,59 +1695,61 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT20.generated.cs b/OneOf.Extended/OneOfT20.generated.cs index e938013..0c1067f 100644 --- a/OneOf.Extended/OneOfT20.generated.cs +++ b/OneOf.Extended/OneOfT20.generated.cs @@ -54,32 +54,33 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -440,31 +441,31 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -473,31 +474,31 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -506,31 +507,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -539,31 +540,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -572,31 +573,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -605,31 +606,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -638,31 +639,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -671,31 +672,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -704,31 +705,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -737,31 +738,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -770,31 +771,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -803,31 +804,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -836,31 +837,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -869,31 +870,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -902,31 +903,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -935,31 +936,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -968,31 +969,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1001,31 +1002,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1034,31 +1035,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1067,31 +1068,31 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1100,711 +1101,713 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + default: return false; }; + } public override bool Equals(object obj) { @@ -1816,61 +1819,63 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT21.generated.cs b/OneOf.Extended/OneOfT21.generated.cs index d20e534..a402bc0 100644 --- a/OneOf.Extended/OneOfT21.generated.cs +++ b/OneOf.Extended/OneOfT21.generated.cs @@ -56,33 +56,34 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -459,32 +460,32 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -493,32 +494,32 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -527,32 +528,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -561,32 +562,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -595,32 +596,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -629,32 +630,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -663,32 +664,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -697,32 +698,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -731,32 +732,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -765,32 +766,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -799,32 +800,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -833,32 +834,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -867,32 +868,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -901,32 +902,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -935,32 +936,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -969,32 +970,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1003,32 +1004,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1037,32 +1038,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1071,32 +1072,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1105,32 +1106,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1139,32 +1140,32 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1173,766 +1174,768 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + default: return false; }; + } public override bool Equals(object obj) { @@ -1944,63 +1947,65 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT22.generated.cs b/OneOf.Extended/OneOfT22.generated.cs index cb5ab64..07017e3 100644 --- a/OneOf.Extended/OneOfT22.generated.cs +++ b/OneOf.Extended/OneOfT22.generated.cs @@ -58,34 +58,35 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -478,33 +479,33 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -513,33 +514,33 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -548,33 +549,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -583,33 +584,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -618,33 +619,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -653,33 +654,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -688,33 +689,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -723,33 +724,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -758,33 +759,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -793,33 +794,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -828,33 +829,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -863,33 +864,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -898,33 +899,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -933,33 +934,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -968,33 +969,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1003,33 +1004,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1038,33 +1039,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1073,33 +1074,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1108,33 +1109,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1143,33 +1144,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1178,33 +1179,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1213,33 +1214,33 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1248,823 +1249,825 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + default: return false; }; + } public override bool Equals(object obj) { @@ -2076,65 +2079,67 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT23.generated.cs b/OneOf.Extended/OneOfT23.generated.cs index 5ceaad6..5e40cf8 100644 --- a/OneOf.Extended/OneOfT23.generated.cs +++ b/OneOf.Extended/OneOfT23.generated.cs @@ -60,35 +60,36 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -497,34 +498,34 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -533,34 +534,34 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -569,34 +570,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -605,34 +606,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -641,34 +642,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -677,34 +678,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -713,34 +714,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -749,34 +750,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -785,34 +786,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -821,34 +822,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -857,34 +858,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -893,34 +894,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -929,34 +930,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -965,34 +966,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -1001,34 +1002,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1037,34 +1038,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1073,34 +1074,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1109,34 +1110,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1145,34 +1146,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1181,34 +1182,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1217,34 +1218,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1253,34 +1254,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1289,34 +1290,34 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - 23 => AsT23, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + case 23: return AsT23; + default: throw new InvalidOperationException(); + } } public OneOf MapT23(Func mapFunc) @@ -1325,882 +1326,884 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => mapFunc(AsT23), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return mapFunc(AsT23); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + default: return false; }; + } public override bool Equals(object obj) { @@ -2212,67 +2215,69 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT24.generated.cs b/OneOf.Extended/OneOfT24.generated.cs index 6d1782d..cf9f7ee 100644 --- a/OneOf.Extended/OneOfT24.generated.cs +++ b/OneOf.Extended/OneOfT24.generated.cs @@ -62,36 +62,37 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -516,35 +517,35 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -553,35 +554,35 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -590,35 +591,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -627,35 +628,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -664,35 +665,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -701,35 +702,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -738,35 +739,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -775,35 +776,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -812,35 +813,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -849,35 +850,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -886,35 +887,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -923,35 +924,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -960,35 +961,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -997,35 +998,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -1034,35 +1035,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1071,35 +1072,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1108,35 +1109,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1145,35 +1146,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1182,35 +1183,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1219,35 +1220,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1256,35 +1257,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1293,35 +1294,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1330,35 +1331,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + case 23: return AsT23; + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT23(Func mapFunc) @@ -1367,35 +1368,35 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => mapFunc(AsT23), - 24 => AsT24, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return mapFunc(AsT23); + case 24: return AsT24; + default: throw new InvalidOperationException(); + } } public OneOf MapT24(Func mapFunc) @@ -1404,943 +1405,945 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => mapFunc(AsT24), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return mapFunc(AsT24); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + default: return false; }; + } public override bool Equals(object obj) { @@ -2352,69 +2355,71 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT25.generated.cs b/OneOf.Extended/OneOfT25.generated.cs index 6f04936..ff38c64 100644 --- a/OneOf.Extended/OneOfT25.generated.cs +++ b/OneOf.Extended/OneOfT25.generated.cs @@ -64,37 +64,38 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -535,36 +536,36 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -573,36 +574,36 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -611,36 +612,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -649,36 +650,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -687,36 +688,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -725,36 +726,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -763,36 +764,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -801,36 +802,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -839,36 +840,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -877,36 +878,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -915,36 +916,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -953,36 +954,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -991,36 +992,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -1029,36 +1030,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -1067,36 +1068,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1105,36 +1106,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1143,36 +1144,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1181,36 +1182,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1219,36 +1220,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1257,36 +1258,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1295,36 +1296,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1333,36 +1334,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1371,36 +1372,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT23(Func mapFunc) @@ -1409,36 +1410,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => mapFunc(AsT23), - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return mapFunc(AsT23); + case 24: return AsT24; + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT24(Func mapFunc) @@ -1447,36 +1448,36 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => mapFunc(AsT24), - 25 => AsT25, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return mapFunc(AsT24); + case 25: return AsT25; + default: throw new InvalidOperationException(); + } } public OneOf MapT25(Func mapFunc) @@ -1485,1006 +1486,1008 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => mapFunc(AsT25), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return mapFunc(AsT25); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + default: return false; }; + } public override bool Equals(object obj) { @@ -2496,71 +2499,73 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT26.generated.cs b/OneOf.Extended/OneOfT26.generated.cs index 0e31026..fcb62e5 100644 --- a/OneOf.Extended/OneOfT26.generated.cs +++ b/OneOf.Extended/OneOfT26.generated.cs @@ -66,38 +66,39 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -554,37 +555,37 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -593,37 +594,37 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -632,37 +633,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -671,37 +672,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -710,37 +711,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -749,37 +750,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -788,37 +789,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -827,37 +828,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -866,37 +867,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -905,37 +906,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -944,37 +945,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -983,37 +984,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -1022,37 +1023,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -1061,37 +1062,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -1100,37 +1101,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1139,37 +1140,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1178,37 +1179,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1217,37 +1218,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1256,37 +1257,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1295,37 +1296,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1334,37 +1335,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1373,37 +1374,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1412,37 +1413,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT23(Func mapFunc) @@ -1451,37 +1452,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => mapFunc(AsT23), - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return mapFunc(AsT23); + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT24(Func mapFunc) @@ -1490,37 +1491,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => mapFunc(AsT24), - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return mapFunc(AsT24); + case 25: return AsT25; + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT25(Func mapFunc) @@ -1529,37 +1530,37 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => mapFunc(AsT25), - 26 => AsT26, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return mapFunc(AsT25); + case 26: return AsT26; + default: throw new InvalidOperationException(); + } } public OneOf MapT26(Func mapFunc) @@ -1568,1071 +1569,1073 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => mapFunc(AsT26), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return mapFunc(AsT26); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + default: return false; }; + } public override bool Equals(object obj) { @@ -2644,73 +2647,75 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT27.generated.cs b/OneOf.Extended/OneOfT27.generated.cs index 315c1c2..667a635 100644 --- a/OneOf.Extended/OneOfT27.generated.cs +++ b/OneOf.Extended/OneOfT27.generated.cs @@ -68,39 +68,40 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -573,38 +574,38 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -613,38 +614,38 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -653,38 +654,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -693,38 +694,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -733,38 +734,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -773,38 +774,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -813,38 +814,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -853,38 +854,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -893,38 +894,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -933,38 +934,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -973,38 +974,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -1013,38 +1014,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -1053,38 +1054,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -1093,38 +1094,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -1133,38 +1134,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1173,38 +1174,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1213,38 +1214,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1253,38 +1254,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1293,38 +1294,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1333,38 +1334,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1373,38 +1374,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1413,38 +1414,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1453,38 +1454,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT23(Func mapFunc) @@ -1493,38 +1494,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => mapFunc(AsT23), - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return mapFunc(AsT23); + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT24(Func mapFunc) @@ -1533,38 +1534,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => mapFunc(AsT24), - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return mapFunc(AsT24); + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT25(Func mapFunc) @@ -1573,38 +1574,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => mapFunc(AsT25), - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return mapFunc(AsT25); + case 26: return AsT26; + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT26(Func mapFunc) @@ -1613,38 +1614,38 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => mapFunc(AsT26), - 27 => AsT27, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return mapFunc(AsT26); + case 27: return AsT27; + default: throw new InvalidOperationException(); + } } public OneOf MapT27(Func mapFunc) @@ -1653,1138 +1654,1140 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => mapFunc(AsT27), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return mapFunc(AsT27); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + default: return false; }; + } public override bool Equals(object obj) { @@ -2796,75 +2799,77 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT28.generated.cs b/OneOf.Extended/OneOfT28.generated.cs index 78a7844..e7ea0b8 100644 --- a/OneOf.Extended/OneOfT28.generated.cs +++ b/OneOf.Extended/OneOfT28.generated.cs @@ -70,40 +70,41 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - 28 => _value28, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + case 28: return _value28; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -592,39 +593,39 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -633,39 +634,39 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -674,39 +675,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -715,39 +716,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -756,39 +757,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -797,39 +798,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -838,39 +839,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -879,39 +880,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -920,39 +921,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -961,39 +962,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -1002,39 +1003,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -1043,39 +1044,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -1084,39 +1085,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -1125,39 +1126,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -1166,39 +1167,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1207,39 +1208,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1248,39 +1249,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1289,39 +1290,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1330,39 +1331,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1371,39 +1372,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1412,39 +1413,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1453,39 +1454,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1494,39 +1495,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT23(Func mapFunc) @@ -1535,39 +1536,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => mapFunc(AsT23), - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return mapFunc(AsT23); + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT24(Func mapFunc) @@ -1576,39 +1577,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => mapFunc(AsT24), - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return mapFunc(AsT24); + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT25(Func mapFunc) @@ -1617,39 +1618,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => mapFunc(AsT25), - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return mapFunc(AsT25); + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT26(Func mapFunc) @@ -1658,39 +1659,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => mapFunc(AsT26), - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return mapFunc(AsT26); + case 27: return AsT27; + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT27(Func mapFunc) @@ -1699,39 +1700,39 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => mapFunc(AsT27), - 28 => AsT28, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return mapFunc(AsT27); + case 28: return AsT28; + default: throw new InvalidOperationException(); + } } public OneOf MapT28(Func mapFunc) @@ -1740,1207 +1741,1209 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => mapFunc(AsT28), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return mapFunc(AsT28); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - 28 => AsT28, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + case 28: { remainder = AsT28; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - public bool TryPickT28(out T28 value, out OneOf remainder) - { - value = IsT28 ? AsT28 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT28; - } + public bool TryPickT28(out T28 value, out OneOf remainder) + { + value = IsT28 ? AsT28 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT28; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - 28 => Equals(_value28, other._value28), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + case 28: return check1 && Equals(_value28, other._value28); + default: return false; }; + } public override bool Equals(object obj) { @@ -2952,77 +2955,79 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - 28 => FormatValue(_value28), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + case 28: return FormatValue(_value28); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - 28 => _value28?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + case 28: { hashCode = _value28?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT29.generated.cs b/OneOf.Extended/OneOfT29.generated.cs index 3922541..577dab4 100644 --- a/OneOf.Extended/OneOfT29.generated.cs +++ b/OneOf.Extended/OneOfT29.generated.cs @@ -72,41 +72,42 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - 28 => _value28, - 29 => _value29, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + case 28: return _value28; + case 29: return _value29; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -611,40 +612,40 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -653,40 +654,40 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -695,40 +696,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -737,40 +738,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -779,40 +780,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -821,40 +822,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -863,40 +864,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -905,40 +906,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -947,40 +948,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -989,40 +990,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -1031,40 +1032,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -1073,40 +1074,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -1115,40 +1116,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -1157,40 +1158,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -1199,40 +1200,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1241,40 +1242,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1283,40 +1284,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1325,40 +1326,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1367,40 +1368,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1409,40 +1410,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1451,40 +1452,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1493,40 +1494,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1535,40 +1536,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT23(Func mapFunc) @@ -1577,40 +1578,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => mapFunc(AsT23), - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return mapFunc(AsT23); + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT24(Func mapFunc) @@ -1619,40 +1620,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => mapFunc(AsT24), - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return mapFunc(AsT24); + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT25(Func mapFunc) @@ -1661,40 +1662,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => mapFunc(AsT25), - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return mapFunc(AsT25); + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT26(Func mapFunc) @@ -1703,40 +1704,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => mapFunc(AsT26), - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return mapFunc(AsT26); + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT27(Func mapFunc) @@ -1745,40 +1746,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => mapFunc(AsT27), - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return mapFunc(AsT27); + case 28: return AsT28; + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT28(Func mapFunc) @@ -1787,40 +1788,40 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => mapFunc(AsT28), - 29 => AsT29, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return mapFunc(AsT28); + case 29: return AsT29; + default: throw new InvalidOperationException(); + } } public OneOf MapT29(Func mapFunc) @@ -1829,1278 +1830,1280 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => mapFunc(AsT29), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return mapFunc(AsT29); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - 28 => AsT28, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - public bool TryPickT28(out T28 value, out OneOf remainder) - { - value = IsT28 ? AsT28 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => default, - 29 => AsT29, - _ => throw new InvalidOperationException() - }; - return this.IsT28; - } + public bool TryPickT28(out T28 value, out OneOf remainder) + { + value = IsT28 ? AsT28 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = default; break; } + case 29: { remainder = AsT29; break; } + default: throw new InvalidOperationException(); + } + return this.IsT28; + } - public bool TryPickT29(out T29 value, out OneOf remainder) - { - value = IsT29 ? AsT29 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT29; - } + public bool TryPickT29(out T29 value, out OneOf remainder) + { + value = IsT29 ? AsT29 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT29; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - 28 => Equals(_value28, other._value28), - 29 => Equals(_value29, other._value29), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + case 28: return check1 && Equals(_value28, other._value28); + case 29: return check1 && Equals(_value29, other._value29); + default: return false; }; + } public override bool Equals(object obj) { @@ -3112,79 +3115,81 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - 28 => FormatValue(_value28), - 29 => FormatValue(_value29), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + case 28: return FormatValue(_value28); + case 29: return FormatValue(_value29); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - 28 => _value28?.GetHashCode(), - 29 => _value29?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + case 28: { hashCode = _value28?.GetHashCode() ?? 0; break; } + case 29: { hashCode = _value29?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT30.generated.cs b/OneOf.Extended/OneOfT30.generated.cs index e1211f5..35c2c24 100644 --- a/OneOf.Extended/OneOfT30.generated.cs +++ b/OneOf.Extended/OneOfT30.generated.cs @@ -74,42 +74,43 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - 28 => _value28, - 29 => _value29, - 30 => _value30, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + case 28: return _value28; + case 29: return _value29; + case 30: return _value30; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -630,41 +631,41 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -673,41 +674,41 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -716,41 +717,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -759,41 +760,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -802,41 +803,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -845,41 +846,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -888,41 +889,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -931,41 +932,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -974,41 +975,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -1017,41 +1018,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -1060,41 +1061,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -1103,41 +1104,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -1146,41 +1147,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -1189,41 +1190,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -1232,41 +1233,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1275,41 +1276,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1318,41 +1319,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1361,41 +1362,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1404,41 +1405,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1447,41 +1448,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1490,41 +1491,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1533,41 +1534,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1576,41 +1577,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT23(Func mapFunc) @@ -1619,41 +1620,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => mapFunc(AsT23), - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return mapFunc(AsT23); + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT24(Func mapFunc) @@ -1662,41 +1663,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => mapFunc(AsT24), - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return mapFunc(AsT24); + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT25(Func mapFunc) @@ -1705,41 +1706,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => mapFunc(AsT25), - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return mapFunc(AsT25); + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT26(Func mapFunc) @@ -1748,41 +1749,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => mapFunc(AsT26), - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return mapFunc(AsT26); + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT27(Func mapFunc) @@ -1791,41 +1792,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => mapFunc(AsT27), - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return mapFunc(AsT27); + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT28(Func mapFunc) @@ -1834,41 +1835,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => mapFunc(AsT28), - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return mapFunc(AsT28); + case 29: return AsT29; + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT29(Func mapFunc) @@ -1877,41 +1878,41 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => mapFunc(AsT29), - 30 => AsT30, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return mapFunc(AsT29); + case 30: return AsT30; + default: throw new InvalidOperationException(); + } } public OneOf MapT30(Func mapFunc) @@ -1920,1351 +1921,1353 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => mapFunc(AsT30), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return mapFunc(AsT30); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - public bool TryPickT28(out T28 value, out OneOf remainder) - { - value = IsT28 ? AsT28 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => default, - 29 => AsT29, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT28; - } + public bool TryPickT28(out T28 value, out OneOf remainder) + { + value = IsT28 ? AsT28 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = default; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT28; + } - public bool TryPickT29(out T29 value, out OneOf remainder) - { - value = IsT29 ? AsT29 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => default, - 30 => AsT30, - _ => throw new InvalidOperationException() - }; - return this.IsT29; - } + public bool TryPickT29(out T29 value, out OneOf remainder) + { + value = IsT29 ? AsT29 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = default; break; } + case 30: { remainder = AsT30; break; } + default: throw new InvalidOperationException(); + } + return this.IsT29; + } - public bool TryPickT30(out T30 value, out OneOf remainder) - { - value = IsT30 ? AsT30 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT30; - } + public bool TryPickT30(out T30 value, out OneOf remainder) + { + value = IsT30 ? AsT30 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT30; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - 28 => Equals(_value28, other._value28), - 29 => Equals(_value29, other._value29), - 30 => Equals(_value30, other._value30), - _ => false - }; + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + case 28: return check1 && Equals(_value28, other._value28); + case 29: return check1 && Equals(_value29, other._value29); + case 30: return check1 && Equals(_value30, other._value30); + default: return false; + }; + } public override bool Equals(object obj) { @@ -3276,81 +3279,83 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - 28 => FormatValue(_value28), - 29 => FormatValue(_value29), - 30 => FormatValue(_value30), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + case 28: return FormatValue(_value28); + case 29: return FormatValue(_value29); + case 30: return FormatValue(_value30); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - 28 => _value28?.GetHashCode(), - 29 => _value29?.GetHashCode(), - 30 => _value30?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + case 28: { hashCode = _value28?.GetHashCode() ?? 0; break; } + case 29: { hashCode = _value29?.GetHashCode() ?? 0; break; } + case 30: { hashCode = _value30?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT31.generated.cs b/OneOf.Extended/OneOfT31.generated.cs index 4df8610..d51ab01 100644 --- a/OneOf.Extended/OneOfT31.generated.cs +++ b/OneOf.Extended/OneOfT31.generated.cs @@ -76,43 +76,44 @@ public struct OneOf - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - 10 => _value10, - 11 => _value11, - 12 => _value12, - 13 => _value13, - 14 => _value14, - 15 => _value15, - 16 => _value16, - 17 => _value17, - 18 => _value18, - 19 => _value19, - 20 => _value20, - 21 => _value21, - 22 => _value22, - 23 => _value23, - 24 => _value24, - 25 => _value25, - 26 => _value26, - 27 => _value27, - 28 => _value28, - 29 => _value29, - 30 => _value30, - 31 => _value31, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + case 10: return _value10; + case 11: return _value11; + case 12: return _value12; + case 13: return _value13; + case 14: return _value14; + case 15: return _value15; + case 16: return _value16; + case 17: return _value17; + case 18: return _value18; + case 19: return _value19; + case 20: return _value20; + case 21: return _value21; + case 22: return _value22; + case 23: return _value23; + case 24: return _value24; + case 25: return _value25; + case 26: return _value26; + case 27: return _value27; + case 28: return _value28; + case 29: return _value29; + case 30: return _value30; + case 31: return _value31; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -649,42 +650,42 @@ public OneOf mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -693,42 +694,42 @@ public OneOf AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -737,42 +738,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -781,42 +782,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -825,42 +826,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -869,42 +870,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -913,42 +914,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -957,42 +958,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -1001,42 +1002,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -1045,42 +1046,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT10(Func mapFunc) @@ -1089,42 +1090,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => mapFunc(AsT10), - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return mapFunc(AsT10); + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT11(Func mapFunc) @@ -1133,42 +1134,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => mapFunc(AsT11), - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return mapFunc(AsT11); + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT12(Func mapFunc) @@ -1177,42 +1178,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => mapFunc(AsT12), - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return mapFunc(AsT12); + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT13(Func mapFunc) @@ -1221,42 +1222,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => mapFunc(AsT13), - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return mapFunc(AsT13); + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT14(Func mapFunc) @@ -1265,42 +1266,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => mapFunc(AsT14), - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return mapFunc(AsT14); + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT15(Func mapFunc) @@ -1309,42 +1310,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => mapFunc(AsT15), - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return mapFunc(AsT15); + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT16(Func mapFunc) @@ -1353,42 +1354,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => mapFunc(AsT16), - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return mapFunc(AsT16); + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT17(Func mapFunc) @@ -1397,42 +1398,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => mapFunc(AsT17), - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return mapFunc(AsT17); + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT18(Func mapFunc) @@ -1441,42 +1442,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => mapFunc(AsT18), - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return mapFunc(AsT18); + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT19(Func mapFunc) @@ -1485,42 +1486,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => mapFunc(AsT19), - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return mapFunc(AsT19); + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT20(Func mapFunc) @@ -1529,42 +1530,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => mapFunc(AsT20), - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return mapFunc(AsT20); + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT21(Func mapFunc) @@ -1573,42 +1574,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => mapFunc(AsT21), - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return mapFunc(AsT21); + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT22(Func mapFunc) @@ -1617,42 +1618,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => mapFunc(AsT22), - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return mapFunc(AsT22); + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT23(Func mapFunc) @@ -1661,42 +1662,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => mapFunc(AsT23), - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return mapFunc(AsT23); + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT24(Func mapFunc) @@ -1705,42 +1706,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => mapFunc(AsT24), - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return mapFunc(AsT24); + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT25(Func mapFunc) @@ -1749,42 +1750,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => mapFunc(AsT25), - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return mapFunc(AsT25); + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT26(Func mapFunc) @@ -1793,42 +1794,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => mapFunc(AsT26), - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return mapFunc(AsT26); + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT27(Func mapFunc) @@ -1837,42 +1838,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => mapFunc(AsT27), - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return mapFunc(AsT27); + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT28(Func mapFunc) @@ -1881,42 +1882,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => mapFunc(AsT28), - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return mapFunc(AsT28); + case 29: return AsT29; + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT29(Func mapFunc) @@ -1925,42 +1926,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => mapFunc(AsT29), - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return mapFunc(AsT29); + case 30: return AsT30; + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT30(Func mapFunc) @@ -1969,42 +1970,42 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => mapFunc(AsT30), - 31 => AsT31, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return mapFunc(AsT30); + case 31: return AsT31; + default: throw new InvalidOperationException(); + } } public OneOf MapT31(Func mapFunc) @@ -2013,1426 +2014,1428 @@ public OneOf AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => mapFunc(AsT31), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + case 10: return AsT10; + case 11: return AsT11; + case 12: return AsT12; + case 13: return AsT13; + case 14: return AsT14; + case 15: return AsT15; + case 16: return AsT16; + case 17: return AsT17; + case 18: return AsT18; + case 19: return AsT19; + case 20: return AsT20; + case 21: return AsT21; + case 22: return AsT22; + case 23: return AsT23; + case 24: return AsT24; + case 25: return AsT25; + case 26: return AsT26; + case 27: return AsT27; + case 28: return AsT28; + case 29: return AsT29; + case 30: return AsT30; + case 31: return mapFunc(AsT31); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - public bool TryPickT10(out T10 value, out OneOf remainder) - { - value = IsT10 ? AsT10 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => default, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT10; - } + public bool TryPickT10(out T10 value, out OneOf remainder) + { + value = IsT10 ? AsT10 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = default; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT10; + } - public bool TryPickT11(out T11 value, out OneOf remainder) - { - value = IsT11 ? AsT11 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => default, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT11; - } + public bool TryPickT11(out T11 value, out OneOf remainder) + { + value = IsT11 ? AsT11 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = default; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT11; + } - public bool TryPickT12(out T12 value, out OneOf remainder) - { - value = IsT12 ? AsT12 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => default, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT12; - } + public bool TryPickT12(out T12 value, out OneOf remainder) + { + value = IsT12 ? AsT12 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = default; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT12; + } - public bool TryPickT13(out T13 value, out OneOf remainder) - { - value = IsT13 ? AsT13 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => default, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT13; - } + public bool TryPickT13(out T13 value, out OneOf remainder) + { + value = IsT13 ? AsT13 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = default; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT13; + } - public bool TryPickT14(out T14 value, out OneOf remainder) - { - value = IsT14 ? AsT14 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => default, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT14; - } + public bool TryPickT14(out T14 value, out OneOf remainder) + { + value = IsT14 ? AsT14 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = default; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT14; + } - public bool TryPickT15(out T15 value, out OneOf remainder) - { - value = IsT15 ? AsT15 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => default, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT15; - } + public bool TryPickT15(out T15 value, out OneOf remainder) + { + value = IsT15 ? AsT15 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = default; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT15; + } - public bool TryPickT16(out T16 value, out OneOf remainder) - { - value = IsT16 ? AsT16 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => default, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT16; - } + public bool TryPickT16(out T16 value, out OneOf remainder) + { + value = IsT16 ? AsT16 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = default; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT16; + } - public bool TryPickT17(out T17 value, out OneOf remainder) - { - value = IsT17 ? AsT17 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => default, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT17; - } + public bool TryPickT17(out T17 value, out OneOf remainder) + { + value = IsT17 ? AsT17 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = default; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT17; + } - public bool TryPickT18(out T18 value, out OneOf remainder) - { - value = IsT18 ? AsT18 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => default, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT18; - } + public bool TryPickT18(out T18 value, out OneOf remainder) + { + value = IsT18 ? AsT18 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = default; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT18; + } - public bool TryPickT19(out T19 value, out OneOf remainder) - { - value = IsT19 ? AsT19 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => default, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT19; - } + public bool TryPickT19(out T19 value, out OneOf remainder) + { + value = IsT19 ? AsT19 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = default; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT19; + } - public bool TryPickT20(out T20 value, out OneOf remainder) - { - value = IsT20 ? AsT20 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => default, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT20; - } + public bool TryPickT20(out T20 value, out OneOf remainder) + { + value = IsT20 ? AsT20 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = default; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT20; + } - public bool TryPickT21(out T21 value, out OneOf remainder) - { - value = IsT21 ? AsT21 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => default, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT21; - } + public bool TryPickT21(out T21 value, out OneOf remainder) + { + value = IsT21 ? AsT21 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = default; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT21; + } - public bool TryPickT22(out T22 value, out OneOf remainder) - { - value = IsT22 ? AsT22 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => default, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT22; - } + public bool TryPickT22(out T22 value, out OneOf remainder) + { + value = IsT22 ? AsT22 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = default; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT22; + } - public bool TryPickT23(out T23 value, out OneOf remainder) - { - value = IsT23 ? AsT23 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => default, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT23; - } + public bool TryPickT23(out T23 value, out OneOf remainder) + { + value = IsT23 ? AsT23 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = default; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT23; + } - public bool TryPickT24(out T24 value, out OneOf remainder) - { - value = IsT24 ? AsT24 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => default, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT24; - } + public bool TryPickT24(out T24 value, out OneOf remainder) + { + value = IsT24 ? AsT24 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = default; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT24; + } - public bool TryPickT25(out T25 value, out OneOf remainder) - { - value = IsT25 ? AsT25 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => default, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT25; - } + public bool TryPickT25(out T25 value, out OneOf remainder) + { + value = IsT25 ? AsT25 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = default; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT25; + } - public bool TryPickT26(out T26 value, out OneOf remainder) - { - value = IsT26 ? AsT26 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => default, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT26; - } + public bool TryPickT26(out T26 value, out OneOf remainder) + { + value = IsT26 ? AsT26 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = default; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT26; + } - public bool TryPickT27(out T27 value, out OneOf remainder) - { - value = IsT27 ? AsT27 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => default, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT27; - } + public bool TryPickT27(out T27 value, out OneOf remainder) + { + value = IsT27 ? AsT27 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = default; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT27; + } - public bool TryPickT28(out T28 value, out OneOf remainder) - { - value = IsT28 ? AsT28 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => default, - 29 => AsT29, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT28; - } + public bool TryPickT28(out T28 value, out OneOf remainder) + { + value = IsT28 ? AsT28 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = default; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT28; + } - public bool TryPickT29(out T29 value, out OneOf remainder) - { - value = IsT29 ? AsT29 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => default, - 30 => AsT30, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT29; - } + public bool TryPickT29(out T29 value, out OneOf remainder) + { + value = IsT29 ? AsT29 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = default; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT29; + } - public bool TryPickT30(out T30 value, out OneOf remainder) - { - value = IsT30 ? AsT30 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => default, - 31 => AsT31, - _ => throw new InvalidOperationException() - }; - return this.IsT30; - } + public bool TryPickT30(out T30 value, out OneOf remainder) + { + value = IsT30 ? AsT30 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = default; break; } + case 31: { remainder = AsT31; break; } + default: throw new InvalidOperationException(); + } + return this.IsT30; + } - public bool TryPickT31(out T31 value, out OneOf remainder) - { - value = IsT31 ? AsT31 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - 10 => AsT10, - 11 => AsT11, - 12 => AsT12, - 13 => AsT13, - 14 => AsT14, - 15 => AsT15, - 16 => AsT16, - 17 => AsT17, - 18 => AsT18, - 19 => AsT19, - 20 => AsT20, - 21 => AsT21, - 22 => AsT22, - 23 => AsT23, - 24 => AsT24, - 25 => AsT25, - 26 => AsT26, - 27 => AsT27, - 28 => AsT28, - 29 => AsT29, - 30 => AsT30, - 31 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT31; - } + public bool TryPickT31(out T31 value, out OneOf remainder) + { + value = IsT31 ? AsT31 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + case 10: { remainder = AsT10; break; } + case 11: { remainder = AsT11; break; } + case 12: { remainder = AsT12; break; } + case 13: { remainder = AsT13; break; } + case 14: { remainder = AsT14; break; } + case 15: { remainder = AsT15; break; } + case 16: { remainder = AsT16; break; } + case 17: { remainder = AsT17; break; } + case 18: { remainder = AsT18; break; } + case 19: { remainder = AsT19; break; } + case 20: { remainder = AsT20; break; } + case 21: { remainder = AsT21; break; } + case 22: { remainder = AsT22; break; } + case 23: { remainder = AsT23; break; } + case 24: { remainder = AsT24; break; } + case 25: { remainder = AsT25; break; } + case 26: { remainder = AsT26; break; } + case 27: { remainder = AsT27; break; } + case 28: { remainder = AsT28; break; } + case 29: { remainder = AsT29; break; } + case 30: { remainder = AsT30; break; } + case 31: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT31; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - 10 => Equals(_value10, other._value10), - 11 => Equals(_value11, other._value11), - 12 => Equals(_value12, other._value12), - 13 => Equals(_value13, other._value13), - 14 => Equals(_value14, other._value14), - 15 => Equals(_value15, other._value15), - 16 => Equals(_value16, other._value16), - 17 => Equals(_value17, other._value17), - 18 => Equals(_value18, other._value18), - 19 => Equals(_value19, other._value19), - 20 => Equals(_value20, other._value20), - 21 => Equals(_value21, other._value21), - 22 => Equals(_value22, other._value22), - 23 => Equals(_value23, other._value23), - 24 => Equals(_value24, other._value24), - 25 => Equals(_value25, other._value25), - 26 => Equals(_value26, other._value26), - 27 => Equals(_value27, other._value27), - 28 => Equals(_value28, other._value28), - 29 => Equals(_value29, other._value29), - 30 => Equals(_value30, other._value30), - 31 => Equals(_value31, other._value31), - _ => false - }; + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + case 10: return check1 && Equals(_value10, other._value10); + case 11: return check1 && Equals(_value11, other._value11); + case 12: return check1 && Equals(_value12, other._value12); + case 13: return check1 && Equals(_value13, other._value13); + case 14: return check1 && Equals(_value14, other._value14); + case 15: return check1 && Equals(_value15, other._value15); + case 16: return check1 && Equals(_value16, other._value16); + case 17: return check1 && Equals(_value17, other._value17); + case 18: return check1 && Equals(_value18, other._value18); + case 19: return check1 && Equals(_value19, other._value19); + case 20: return check1 && Equals(_value20, other._value20); + case 21: return check1 && Equals(_value21, other._value21); + case 22: return check1 && Equals(_value22, other._value22); + case 23: return check1 && Equals(_value23, other._value23); + case 24: return check1 && Equals(_value24, other._value24); + case 25: return check1 && Equals(_value25, other._value25); + case 26: return check1 && Equals(_value26, other._value26); + case 27: return check1 && Equals(_value27, other._value27); + case 28: return check1 && Equals(_value28, other._value28); + case 29: return check1 && Equals(_value29, other._value29); + case 30: return check1 && Equals(_value30, other._value30); + case 31: return check1 && Equals(_value31, other._value31); + default: return false; + }; + } public override bool Equals(object obj) { @@ -3444,83 +3447,85 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - 10 => FormatValue(_value10), - 11 => FormatValue(_value11), - 12 => FormatValue(_value12), - 13 => FormatValue(_value13), - 14 => FormatValue(_value14), - 15 => FormatValue(_value15), - 16 => FormatValue(_value16), - 17 => FormatValue(_value17), - 18 => FormatValue(_value18), - 19 => FormatValue(_value19), - 20 => FormatValue(_value20), - 21 => FormatValue(_value21), - 22 => FormatValue(_value22), - 23 => FormatValue(_value23), - 24 => FormatValue(_value24), - 25 => FormatValue(_value25), - 26 => FormatValue(_value26), - 27 => FormatValue(_value27), - 28 => FormatValue(_value28), - 29 => FormatValue(_value29), - 30 => FormatValue(_value30), - 31 => FormatValue(_value31), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + case 10: return FormatValue(_value10); + case 11: return FormatValue(_value11); + case 12: return FormatValue(_value12); + case 13: return FormatValue(_value13); + case 14: return FormatValue(_value14); + case 15: return FormatValue(_value15); + case 16: return FormatValue(_value16); + case 17: return FormatValue(_value17); + case 18: return FormatValue(_value18); + case 19: return FormatValue(_value19); + case 20: return FormatValue(_value20); + case 21: return FormatValue(_value21); + case 22: return FormatValue(_value22); + case 23: return FormatValue(_value23); + case 24: return FormatValue(_value24); + case 25: return FormatValue(_value25); + case 26: return FormatValue(_value26); + case 27: return FormatValue(_value27); + case 28: return FormatValue(_value28); + case 29: return FormatValue(_value29); + case 30: return FormatValue(_value30); + case 31: return FormatValue(_value31); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - 10 => _value10?.GetHashCode(), - 11 => _value11?.GetHashCode(), - 12 => _value12?.GetHashCode(), - 13 => _value13?.GetHashCode(), - 14 => _value14?.GetHashCode(), - 15 => _value15?.GetHashCode(), - 16 => _value16?.GetHashCode(), - 17 => _value17?.GetHashCode(), - 18 => _value18?.GetHashCode(), - 19 => _value19?.GetHashCode(), - 20 => _value20?.GetHashCode(), - 21 => _value21?.GetHashCode(), - 22 => _value22?.GetHashCode(), - 23 => _value23?.GetHashCode(), - 24 => _value24?.GetHashCode(), - 25 => _value25?.GetHashCode(), - 26 => _value26?.GetHashCode(), - 27 => _value27?.GetHashCode(), - 28 => _value28?.GetHashCode(), - 29 => _value29?.GetHashCode(), - 30 => _value30?.GetHashCode(), - 31 => _value31?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + case 10: { hashCode = _value10?.GetHashCode() ?? 0; break; } + case 11: { hashCode = _value11?.GetHashCode() ?? 0; break; } + case 12: { hashCode = _value12?.GetHashCode() ?? 0; break; } + case 13: { hashCode = _value13?.GetHashCode() ?? 0; break; } + case 14: { hashCode = _value14?.GetHashCode() ?? 0; break; } + case 15: { hashCode = _value15?.GetHashCode() ?? 0; break; } + case 16: { hashCode = _value16?.GetHashCode() ?? 0; break; } + case 17: { hashCode = _value17?.GetHashCode() ?? 0; break; } + case 18: { hashCode = _value18?.GetHashCode() ?? 0; break; } + case 19: { hashCode = _value19?.GetHashCode() ?? 0; break; } + case 20: { hashCode = _value20?.GetHashCode() ?? 0; break; } + case 21: { hashCode = _value21?.GetHashCode() ?? 0; break; } + case 22: { hashCode = _value22?.GetHashCode() ?? 0; break; } + case 23: { hashCode = _value23?.GetHashCode() ?? 0; break; } + case 24: { hashCode = _value24?.GetHashCode() ?? 0; break; } + case 25: { hashCode = _value25?.GetHashCode() ?? 0; break; } + case 26: { hashCode = _value26?.GetHashCode() ?? 0; break; } + case 27: { hashCode = _value27?.GetHashCode() ?? 0; break; } + case 28: { hashCode = _value28?.GetHashCode() ?? 0; break; } + case 29: { hashCode = _value29?.GetHashCode() ?? 0; break; } + case 30: { hashCode = _value30?.GetHashCode() ?? 0; break; } + case 31: { hashCode = _value31?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf.Extended/OneOfT9.generated.cs b/OneOf.Extended/OneOfT9.generated.cs index 01f5ee3..898033d 100644 --- a/OneOf.Extended/OneOfT9.generated.cs +++ b/OneOf.Extended/OneOfT9.generated.cs @@ -32,21 +32,22 @@ public struct OneOf : IOneOf _value9 = value9; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - 9 => _value9, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + case 9: return _value9; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -231,20 +232,20 @@ public OneOf MapT0(Func mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -253,20 +254,20 @@ public OneOf MapT1(Func AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -275,20 +276,20 @@ public OneOf MapT2(Func AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -297,20 +298,20 @@ public OneOf MapT3(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -319,20 +320,20 @@ public OneOf MapT4(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -341,20 +342,20 @@ public OneOf MapT5(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -363,20 +364,20 @@ public OneOf MapT6(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + case 9: return AsT9; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -385,20 +386,20 @@ public OneOf MapT7(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + case 9: return AsT9; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -407,20 +408,20 @@ public OneOf MapT8(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - 9 => AsT9, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + case 9: return AsT9; + default: throw new InvalidOperationException(); + } } public OneOf MapT9(Func mapFunc) @@ -429,238 +430,240 @@ public OneOf MapT9(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => mapFunc(AsT9), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + case 9: return mapFunc(AsT9); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - 9 => AsT9, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + case 9: { remainder = AsT9; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - public bool TryPickT9(out T9 value, out OneOf remainder) - { - value = IsT9 ? AsT9 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - 9 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT9; - } + public bool TryPickT9(out T9 value, out OneOf remainder) + { + value = IsT9 ? AsT9 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + case 9: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT9; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - 9 => Equals(_value9, other._value9), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + case 9: return check1 && Equals(_value9, other._value9); + default: return false; }; + } public override bool Equals(object obj) { @@ -672,39 +675,41 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - 9 => FormatValue(_value9), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + case 9: return FormatValue(_value9); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - 9 => _value9?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + case 9: { hashCode = _value9?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfBaseT0.generated.cs b/OneOf/OneOfBaseT0.generated.cs index 52a7fba..64c1ca8 100644 --- a/OneOf/OneOfBaseT0.generated.cs +++ b/OneOf/OneOfBaseT0.generated.cs @@ -18,12 +18,13 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -59,13 +60,15 @@ public TResult Match(Func f0) - bool Equals(OneOfBase other) => - _index == other._index && - _index switch + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + default: return false; }; + } public override bool Equals(object obj) { @@ -81,21 +84,23 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfBaseT1.generated.cs b/OneOf/OneOfBaseT1.generated.cs index b5816b4..bf51778 100644 --- a/OneOf/OneOfBaseT1.generated.cs +++ b/OneOf/OneOfBaseT1.generated.cs @@ -20,13 +20,14 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -76,38 +77,40 @@ public TResult Match(Func f0, Func f1) - public bool TryPickT0(out T0 value, out T1 remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out T1 remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out T0 remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out T0 remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + default: return false; }; + } public override bool Equals(object obj) { @@ -123,23 +126,25 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfBaseT2.generated.cs b/OneOf/OneOfBaseT2.generated.cs index d8ed1a8..7ded20b 100644 --- a/OneOf/OneOfBaseT2.generated.cs +++ b/OneOf/OneOfBaseT2.generated.cs @@ -22,14 +22,15 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -93,54 +94,56 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - 2 => AsT2, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + default: return false; }; + } public override bool Equals(object obj) { @@ -156,25 +159,27 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfBaseT3.generated.cs b/OneOf/OneOfBaseT3.generated.cs index c47bd8e..065dd46 100644 --- a/OneOf/OneOfBaseT3.generated.cs +++ b/OneOf/OneOfBaseT3.generated.cs @@ -24,15 +24,16 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -110,72 +111,74 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } - - bool Equals(OneOfBase other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - _ => false + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } + + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + default: return false; }; + } public override bool Equals(object obj) { @@ -191,27 +194,29 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfBaseT4.generated.cs b/OneOf/OneOfBaseT4.generated.cs index 454c6cf..1ee6404 100644 --- a/OneOf/OneOfBaseT4.generated.cs +++ b/OneOf/OneOfBaseT4.generated.cs @@ -26,16 +26,17 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -127,92 +128,94 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + default: return false; }; + } public override bool Equals(object obj) { @@ -228,29 +231,31 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfBaseT5.generated.cs b/OneOf/OneOfBaseT5.generated.cs index feb72c3..8668851 100644 --- a/OneOf/OneOfBaseT5.generated.cs +++ b/OneOf/OneOfBaseT5.generated.cs @@ -28,17 +28,18 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -144,114 +145,116 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + default: return false; }; + } public override bool Equals(object obj) { @@ -267,31 +270,33 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfBaseT6.generated.cs b/OneOf/OneOfBaseT6.generated.cs index 607b865..95feacb 100644 --- a/OneOf/OneOfBaseT6.generated.cs +++ b/OneOf/OneOfBaseT6.generated.cs @@ -30,18 +30,19 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -161,138 +162,140 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + default: return false; }; + } public override bool Equals(object obj) { @@ -308,33 +311,35 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfBaseT7.generated.cs b/OneOf/OneOfBaseT7.generated.cs index c30d6bf..4538903 100644 --- a/OneOf/OneOfBaseT7.generated.cs +++ b/OneOf/OneOfBaseT7.generated.cs @@ -32,19 +32,20 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -178,164 +179,166 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + default: return false; }; + } public override bool Equals(object obj) { @@ -351,35 +354,37 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfBaseT8.generated.cs b/OneOf/OneOfBaseT8.generated.cs index 5ee8beb..dd8b235 100644 --- a/OneOf/OneOfBaseT8.generated.cs +++ b/OneOf/OneOfBaseT8.generated.cs @@ -34,20 +34,21 @@ protected OneOfBase(OneOf input) } } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -195,192 +196,194 @@ public TResult Match(Func f0, Func f1, Func remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - bool Equals(OneOfBase other) => - _index == other._index && - _index switch + bool Equals(OneOfBase other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + default: return false; }; + } public override bool Equals(object obj) { @@ -396,37 +399,39 @@ public override bool Equals(object obj) return obj is OneOfBase o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfT0.generated.cs b/OneOf/OneOfT0.generated.cs index ff5d4e5..2efbaf2 100644 --- a/OneOf/OneOfT0.generated.cs +++ b/OneOf/OneOfT0.generated.cs @@ -14,12 +14,13 @@ public struct OneOf : IOneOf _value0 = value0; } - public object Value => - _index switch - { - 0 => _value0, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -60,20 +61,22 @@ public OneOf MapT0(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => mapFunc(AsT0), - _ => throw new InvalidOperationException() - }; + case 0: return mapFunc(AsT0); + default: throw new InvalidOperationException(); + } } - bool Equals(OneOf other) => - _index == other._index && - _index switch + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + default: return false; }; + } public override bool Equals(object obj) { @@ -85,21 +88,23 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfT1.generated.cs b/OneOf/OneOfT1.generated.cs index 1073322..d107151 100644 --- a/OneOf/OneOfT1.generated.cs +++ b/OneOf/OneOfT1.generated.cs @@ -16,13 +16,14 @@ public struct OneOf : IOneOf _value1 = value1; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -79,12 +80,12 @@ public OneOf MapT0(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => mapFunc(AsT0), - 1 => AsT1, - _ => throw new InvalidOperationException() - }; + case 0: return mapFunc(AsT0); + case 1: return AsT1; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -93,46 +94,48 @@ public OneOf MapT1(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => mapFunc(AsT1), - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return mapFunc(AsT1); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out T1 remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out T1 remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out T0 remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out T0 remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + default: return false; }; + } public override bool Equals(object obj) { @@ -144,23 +147,25 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfT2.generated.cs b/OneOf/OneOfT2.generated.cs index 9d9186f..2677b88 100644 --- a/OneOf/OneOfT2.generated.cs +++ b/OneOf/OneOfT2.generated.cs @@ -18,14 +18,15 @@ public struct OneOf : IOneOf _value2 = value2; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -98,13 +99,13 @@ public OneOf MapT0(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - _ => throw new InvalidOperationException() - }; + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -113,13 +114,13 @@ public OneOf MapT1(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -128,63 +129,65 @@ public OneOf MapT2(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + default: return false; }; + } public override bool Equals(object obj) { @@ -196,25 +199,27 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfT3.generated.cs b/OneOf/OneOfT3.generated.cs index 0f1c46f..cee28d5 100644 --- a/OneOf/OneOfT3.generated.cs +++ b/OneOf/OneOfT3.generated.cs @@ -20,15 +20,16 @@ public struct OneOf : IOneOf _value3 = value3; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -117,14 +118,14 @@ public OneOf MapT0(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - _ => throw new InvalidOperationException() - }; + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -133,14 +134,14 @@ public OneOf MapT1(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -149,14 +150,14 @@ public OneOf MapT2(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -165,82 +166,84 @@ public OneOf MapT3(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + default: return false; }; + } public override bool Equals(object obj) { @@ -252,27 +255,29 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfT4.generated.cs b/OneOf/OneOfT4.generated.cs index 3b5919b..d08705a 100644 --- a/OneOf/OneOfT4.generated.cs +++ b/OneOf/OneOfT4.generated.cs @@ -22,16 +22,17 @@ public struct OneOf : IOneOf _value4 = value4; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -136,15 +137,15 @@ public OneOf MapT0(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -153,15 +154,15 @@ public OneOf MapT1(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -170,15 +171,15 @@ public OneOf MapT2(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -187,15 +188,15 @@ public OneOf MapT3(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -204,103 +205,105 @@ public OneOf MapT4(Func mapFunc) { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - _ => throw new InvalidOperationException() - }; + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - _ => false + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + default: return false; }; + } public override bool Equals(object obj) { @@ -312,29 +315,31 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfT5.generated.cs b/OneOf/OneOfT5.generated.cs index 4d8cce7..ed35848 100644 --- a/OneOf/OneOfT5.generated.cs +++ b/OneOf/OneOfT5.generated.cs @@ -24,17 +24,18 @@ public struct OneOf : IOneOf _value5 = value5; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -155,16 +156,16 @@ public OneOf MapT0(Func mapFu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -173,16 +174,16 @@ public OneOf MapT1(Func mapFu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -191,16 +192,16 @@ public OneOf MapT2(Func mapFu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -209,16 +210,16 @@ public OneOf MapT3(Func mapFu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -227,16 +228,16 @@ public OneOf MapT4(Func mapFu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -245,126 +246,128 @@ public OneOf MapT5(Func mapFu { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + default: return false; }; + } public override bool Equals(object obj) { @@ -376,31 +379,33 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfT6.generated.cs b/OneOf/OneOfT6.generated.cs index 7933916..e47ea15 100644 --- a/OneOf/OneOfT6.generated.cs +++ b/OneOf/OneOfT6.generated.cs @@ -26,18 +26,19 @@ public struct OneOf : IOneOf _value6 = value6; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -174,17 +175,17 @@ public OneOf MapT0(Func m { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -193,17 +194,17 @@ public OneOf MapT1(Func m { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -212,17 +213,17 @@ public OneOf MapT2(Func m { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -231,17 +232,17 @@ public OneOf MapT3(Func m { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -250,17 +251,17 @@ public OneOf MapT4(Func m { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -269,17 +270,17 @@ public OneOf MapT5(Func m { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -288,151 +289,153 @@ public OneOf MapT6(Func m { throw new ArgumentNullException(nameof(mapFunc)); } - return _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + default: return false; }; + } public override bool Equals(object obj) { @@ -444,33 +447,35 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfT7.generated.cs b/OneOf/OneOfT7.generated.cs index 878ca56..9fb1202 100644 --- a/OneOf/OneOfT7.generated.cs +++ b/OneOf/OneOfT7.generated.cs @@ -28,19 +28,20 @@ public struct OneOf : IOneOf _value7 = value7; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -193,18 +194,18 @@ public OneOf MapT0(Func mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -213,18 +214,18 @@ public OneOf MapT1(Func AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -233,18 +234,18 @@ public OneOf MapT2(Func AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -253,18 +254,18 @@ public OneOf MapT3(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -273,18 +274,18 @@ public OneOf MapT4(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -293,18 +294,18 @@ public OneOf MapT5(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -313,18 +314,18 @@ public OneOf MapT6(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -333,178 +334,180 @@ public OneOf MapT7(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + default: return false; }; + } public override bool Equals(object obj) { @@ -516,35 +519,37 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } } diff --git a/OneOf/OneOfT8.generated.cs b/OneOf/OneOfT8.generated.cs index f8bdcfa..7fd5c37 100644 --- a/OneOf/OneOfT8.generated.cs +++ b/OneOf/OneOfT8.generated.cs @@ -30,20 +30,21 @@ public struct OneOf : IOneOf _value8 = value8; } - public object Value => - _index switch - { - 0 => _value0, - 1 => _value1, - 2 => _value2, - 3 => _value3, - 4 => _value4, - 5 => _value5, - 6 => _value6, - 7 => _value7, - 8 => _value8, - _ => throw new InvalidOperationException() - }; + public object Value { get { + switch (_index) + { + case 0: return _value0; + case 1: return _value1; + case 2: return _value2; + case 3: return _value3; + case 4: return _value4; + case 5: return _value5; + case 6: return _value6; + case 7: return _value7; + case 8: return _value8; + default: throw new InvalidOperationException(); + }; + } } public int Index => _index; @@ -212,19 +213,19 @@ public OneOf MapT0(Func mapFunc(AsT0), - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return mapFunc(AsT0); + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + default: throw new InvalidOperationException(); + } } public OneOf MapT1(Func mapFunc) @@ -233,19 +234,19 @@ public OneOf MapT1(Func AsT0, - 1 => mapFunc(AsT1), - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return mapFunc(AsT1); + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + default: throw new InvalidOperationException(); + } } public OneOf MapT2(Func mapFunc) @@ -254,19 +255,19 @@ public OneOf MapT2(Func AsT0, - 1 => AsT1, - 2 => mapFunc(AsT2), - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return mapFunc(AsT2); + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + default: throw new InvalidOperationException(); + } } public OneOf MapT3(Func mapFunc) @@ -275,19 +276,19 @@ public OneOf MapT3(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => mapFunc(AsT3), - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return mapFunc(AsT3); + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + default: throw new InvalidOperationException(); + } } public OneOf MapT4(Func mapFunc) @@ -296,19 +297,19 @@ public OneOf MapT4(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => mapFunc(AsT4), - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return mapFunc(AsT4); + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + default: throw new InvalidOperationException(); + } } public OneOf MapT5(Func mapFunc) @@ -317,19 +318,19 @@ public OneOf MapT5(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => mapFunc(AsT5), - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return mapFunc(AsT5); + case 6: return AsT6; + case 7: return AsT7; + case 8: return AsT8; + default: throw new InvalidOperationException(); + } } public OneOf MapT6(Func mapFunc) @@ -338,19 +339,19 @@ public OneOf MapT6(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => mapFunc(AsT6), - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return mapFunc(AsT6); + case 7: return AsT7; + case 8: return AsT8; + default: throw new InvalidOperationException(); + } } public OneOf MapT7(Func mapFunc) @@ -359,19 +360,19 @@ public OneOf MapT7(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => mapFunc(AsT7), - 8 => AsT8, - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return mapFunc(AsT7); + case 8: return AsT8; + default: throw new InvalidOperationException(); + } } public OneOf MapT8(Func mapFunc) @@ -380,207 +381,209 @@ public OneOf MapT8(Func AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => mapFunc(AsT8), - _ => throw new InvalidOperationException() - }; + switch (_index) + { + case 0: return AsT0; + case 1: return AsT1; + case 2: return AsT2; + case 3: return AsT3; + case 4: return AsT4; + case 5: return AsT5; + case 6: return AsT6; + case 7: return AsT7; + case 8: return mapFunc(AsT8); + default: throw new InvalidOperationException(); + } } - public bool TryPickT0(out T0 value, out OneOf remainder) - { - value = IsT0 ? AsT0 : default; - remainder = _index switch - { - 0 => default, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT0; - } + public bool TryPickT0(out T0 value, out OneOf remainder) + { + value = IsT0 ? AsT0 : default; + switch (_index) + { + case 0: { remainder = default; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT0; + } - public bool TryPickT1(out T1 value, out OneOf remainder) - { - value = IsT1 ? AsT1 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => default, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT1; - } + public bool TryPickT1(out T1 value, out OneOf remainder) + { + value = IsT1 ? AsT1 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = default; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT1; + } - public bool TryPickT2(out T2 value, out OneOf remainder) - { - value = IsT2 ? AsT2 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => default, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT2; - } + public bool TryPickT2(out T2 value, out OneOf remainder) + { + value = IsT2 ? AsT2 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = default; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT2; + } - public bool TryPickT3(out T3 value, out OneOf remainder) - { - value = IsT3 ? AsT3 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => default, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT3; - } + public bool TryPickT3(out T3 value, out OneOf remainder) + { + value = IsT3 ? AsT3 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = default; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT3; + } - public bool TryPickT4(out T4 value, out OneOf remainder) - { - value = IsT4 ? AsT4 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => default, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT4; - } + public bool TryPickT4(out T4 value, out OneOf remainder) + { + value = IsT4 ? AsT4 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = default; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT4; + } - public bool TryPickT5(out T5 value, out OneOf remainder) - { - value = IsT5 ? AsT5 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => default, - 6 => AsT6, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT5; - } + public bool TryPickT5(out T5 value, out OneOf remainder) + { + value = IsT5 ? AsT5 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = default; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT5; + } - public bool TryPickT6(out T6 value, out OneOf remainder) - { - value = IsT6 ? AsT6 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => default, - 7 => AsT7, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT6; - } + public bool TryPickT6(out T6 value, out OneOf remainder) + { + value = IsT6 ? AsT6 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = default; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT6; + } - public bool TryPickT7(out T7 value, out OneOf remainder) - { - value = IsT7 ? AsT7 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => default, - 8 => AsT8, - _ => throw new InvalidOperationException() - }; - return this.IsT7; - } + public bool TryPickT7(out T7 value, out OneOf remainder) + { + value = IsT7 ? AsT7 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = default; break; } + case 8: { remainder = AsT8; break; } + default: throw new InvalidOperationException(); + } + return this.IsT7; + } - public bool TryPickT8(out T8 value, out OneOf remainder) - { - value = IsT8 ? AsT8 : default; - remainder = _index switch - { - 0 => AsT0, - 1 => AsT1, - 2 => AsT2, - 3 => AsT3, - 4 => AsT4, - 5 => AsT5, - 6 => AsT6, - 7 => AsT7, - 8 => default, - _ => throw new InvalidOperationException() - }; - return this.IsT8; - } + public bool TryPickT8(out T8 value, out OneOf remainder) + { + value = IsT8 ? AsT8 : default; + switch (_index) + { + case 0: { remainder = AsT0; break; } + case 1: { remainder = AsT1; break; } + case 2: { remainder = AsT2; break; } + case 3: { remainder = AsT3; break; } + case 4: { remainder = AsT4; break; } + case 5: { remainder = AsT5; break; } + case 6: { remainder = AsT6; break; } + case 7: { remainder = AsT7; break; } + case 8: { remainder = default; break; } + default: throw new InvalidOperationException(); + } + return this.IsT8; + } - bool Equals(OneOf other) => - _index == other._index && - _index switch - { - 0 => Equals(_value0, other._value0), - 1 => Equals(_value1, other._value1), - 2 => Equals(_value2, other._value2), - 3 => Equals(_value3, other._value3), - 4 => Equals(_value4, other._value4), - 5 => Equals(_value5, other._value5), - 6 => Equals(_value6, other._value6), - 7 => Equals(_value7, other._value7), - 8 => Equals(_value8, other._value8), - _ => false + bool Equals(OneOf other) { + var check1 = _index == other._index; + if (!check1) { return false; } + switch (_index) + { + case 0: return check1 && Equals(_value0, other._value0); + case 1: return check1 && Equals(_value1, other._value1); + case 2: return check1 && Equals(_value2, other._value2); + case 3: return check1 && Equals(_value3, other._value3); + case 4: return check1 && Equals(_value4, other._value4); + case 5: return check1 && Equals(_value5, other._value5); + case 6: return check1 && Equals(_value6, other._value6); + case 7: return check1 && Equals(_value7, other._value7); + case 8: return check1 && Equals(_value8, other._value8); + default: return false; }; + } public override bool Equals(object obj) { @@ -592,37 +595,39 @@ public override bool Equals(object obj) return obj is OneOf o && Equals(o); } - public override string ToString() => - _index switch { - 0 => FormatValue(_value0), - 1 => FormatValue(_value1), - 2 => FormatValue(_value2), - 3 => FormatValue(_value3), - 4 => FormatValue(_value4), - 5 => FormatValue(_value5), - 6 => FormatValue(_value6), - 7 => FormatValue(_value7), - 8 => FormatValue(_value8), - _ => throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen.") - }; + public override string ToString() { + switch (_index) { + case 0: return FormatValue(_value0); + case 1: return FormatValue(_value1); + case 2: return FormatValue(_value2); + case 3: return FormatValue(_value3); + case 4: return FormatValue(_value4); + case 5: return FormatValue(_value5); + case 6: return FormatValue(_value6); + case 7: return FormatValue(_value7); + case 8: return FormatValue(_value8); + default: throw new InvalidOperationException("Unexpected index, which indicates a problem in the OneOf codegen."); + } + } public override int GetHashCode() { unchecked { - int hashCode = _index switch + int hashCode; + switch (_index) { - 0 => _value0?.GetHashCode(), - 1 => _value1?.GetHashCode(), - 2 => _value2?.GetHashCode(), - 3 => _value3?.GetHashCode(), - 4 => _value4?.GetHashCode(), - 5 => _value5?.GetHashCode(), - 6 => _value6?.GetHashCode(), - 7 => _value7?.GetHashCode(), - 8 => _value8?.GetHashCode(), - _ => 0 - } ?? 0; + case 0: { hashCode = _value0?.GetHashCode() ?? 0; break; } + case 1: { hashCode = _value1?.GetHashCode() ?? 0; break; } + case 2: { hashCode = _value2?.GetHashCode() ?? 0; break; } + case 3: { hashCode = _value3?.GetHashCode() ?? 0; break; } + case 4: { hashCode = _value4?.GetHashCode() ?? 0; break; } + case 5: { hashCode = _value5?.GetHashCode() ?? 0; break; } + case 6: { hashCode = _value6?.GetHashCode() ?? 0; break; } + case 7: { hashCode = _value7?.GetHashCode() ?? 0; break; } + case 8: { hashCode = _value8?.GetHashCode() ?? 0; break; } + default: { hashCode = 0; break; } + } return (hashCode*397) ^ _index; } }