Browse Source

Add type arguments to method reference in DelegateConstruction

pull/728/head
Siegfried Pammer 9 years ago
parent
commit
5d4d89ee36
  1. 4
      ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs

4
ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs

@ -568,7 +568,9 @@ namespace ICSharpCode.Decompiler.CSharp @@ -568,7 +568,9 @@ namespace ICSharpCode.Decompiler.CSharp
method = ((LdVirtFtn)func).Method;
}
var target = TranslateTarget(method, inst.Arguments[0], func.OpCode == OpCode.LdFtn);
return new ObjectCreateExpression(ConvertType(inst.Method.DeclaringType), new MemberReferenceExpression(target, method.Name))
var mre = new MemberReferenceExpression(target, method.Name);
mre.TypeArguments.AddRange(method.TypeArguments.Select(a => ConvertType(a)));
return new ObjectCreateExpression(ConvertType(inst.Method.DeclaringType), mre)
.WithILInstruction(inst)
.WithRR(new ConversionResolveResult(
inst.Method.DeclaringType,

Loading…
Cancel
Save