我想引用的方法定义如下:
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);
两者都是我所期望的,但不是我想要的,并且我找不到一种方法来组合它们以产生正确的值
https://stackoverflow.com/questions/49833118
复制相似问题