From 45efc732a726e4efe82930510492bd73b23e2e28 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Thu, 20 Nov 2025 13:25:39 +0100 Subject: [PATCH] #3614: Use correct number of type arguments when adding type annotations to generic types with nested types. --- .../CSharp/Syntax/TypeSystemAstBuilder.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs index 58fd10c83..dae49f6d0 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs @@ -546,7 +546,13 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax { // Handle nested types result.Target = ConvertTypeHelper(genericType.DeclaringType, typeArguments); - AddTypeAnnotation(result.Target, genericType.DeclaringType); + // Use correct number of type arguments on the declaring type + var declaringType = genericType.DeclaringType; + if (outerTypeParameterCount > 0) + { + declaringType = new ParameterizedType(genericType.DeclaringType, typeArguments.Take(outerTypeParameterCount)); + } + AddTypeAnnotation(result.Target, declaringType); } else {