diff --git a/ICSharpCode.Decompiler/IL/Transforms/NamedArgumentTransform.cs b/ICSharpCode.Decompiler/IL/Transforms/NamedArgumentTransform.cs index d2c5c400c..41e30e598 100644 --- a/ICSharpCode.Decompiler/IL/Transforms/NamedArgumentTransform.cs +++ b/ICSharpCode.Decompiler/IL/Transforms/NamedArgumentTransform.cs @@ -98,7 +98,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms namedArgBlock.FinalInstruction = call; if (call.IsInstanceCall) { - IType thisVarType = call.Method.DeclaringType; + IType thisVarType = call.ConstrainedTo ?? call.Method.DeclaringType; if (CallInstruction.ExpectedTypeForThisPointer(thisVarType) == StackType.Ref) { thisVarType = new ByReferenceType(thisVarType);