diff --git a/ICSharpCode.Decompiler/TypeSystem/TupleType.cs b/ICSharpCode.Decompiler/TypeSystem/TupleType.cs index a1267f6bf..7576e817d 100644 --- a/ICSharpCode.Decompiler/TypeSystem/TupleType.cs +++ b/ICSharpCode.Decompiler/TypeSystem/TupleType.cs @@ -115,8 +115,9 @@ namespace ICSharpCode.Decompiler.TypeSystem case TypeKind.Tuple: tupleCardinality = ((TupleType)type).ElementTypes.Length; return true; - case TypeKind.Class: case TypeKind.Struct: + // C# requires System.ValueTuple to be a struct, so a class of that name is + // some other type that happens to share it and must not become tuple syntax. if (type.Namespace == "System" && type.Name == "ValueTuple") { int tpc = type.TypeParameterCount;