【发布时间】:2018-06-09 03:24:15
【问题描述】:
我要引用的方法定义如下:
class Foo<T1> {
void Bar<T2>(int value) {...}
}
我的问题与具有通用参数的 Foo 和 Bar 有关 如果我使用
static public GenericInstanceMethod MakeGenericMethod(this MethodReference method, TypeReference[] genericArguments)
{
var _method = new GenericInstanceMethod(method);
foreach (var _argument in genericArguments) {
_method.GenericArguments.Add(genericArguments);
}
return _method;
}
生成的代码会有一个引用
Foo<>.Bar<T2>(int)
如果我使用
static public MethodReference Reference(this GenericInstanceType genericInstanceType, MethodReference method)
_methodReference = new MethodReference(method.Name, _returnType, genericInstanceType) {
HasThis = method.HasThis,
ExplicitThis = method.ExplicitThis,
CallingConvention = method.CallingConvention
};
foreach (var parameter in method.Parameters) {
_methodReference.Parameters.Add(parameter);
}
return _methodReference;
}
生成的代码会有一个引用
Foo<T1>.Bar(int);
两者都是我所期望的,但不是我想要的,我找不到将它们组合起来以产生正确值的方法
【问题讨论】:
标签: mono.cecil