본문 바로가기

C#/어쩌면 유용한 팁

C# ValueTuple 의 한계점.

static IEnumerable<object> Enum<T1, T2>(this ValueTuple<T1, T2> vt) => GetObjs(vt);
static IEnumerable<object> Enum<T1, T2, T3>(this ValueTuple<T1, T2, T3> vt) => GetObjs(vt);
static IEnumerable<object> Enum<T1, T2, T3, T4>(this ValueTuple<T1, T2, T3, T4> vt) => GetObjs(vt);
static IEnumerable<object> Enum<T1, T2, T3, T4, T5>(this ValueTuple<T1, T2, T3, T4, T5> vt) => GetObjs(vt);
static IEnumerable<object> Enum<T1, T2, T3, T4, T5, T6>(this ValueTuple<T1, T2, T3, T4, T5, T6> vt) => GetObjs(vt);
static IEnumerable<object> Enum<T1, T2, T3, T4, T5, T6, T7>(this ValueTuple<T1, T2, T3, T4, T5, T6, T7> vt) => GetObjs(vt);
static IEnumerable<object> Enum<T1, T2, T3, T4, T5, T6, T7, T8>(this ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8> vt) => GetObjs(vt);

 

❌제네릭 형식 또는 메서드 'ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>'에서 'T8' 형식을 'TRest' 매개 변수로 사용하려면 해당 형식이 null을 허용하지 않는 값 형식이어야 합니다. 

 

ValueTuple의 제네릭 매개변수는 8개 이상 쓰면 오류난다.