<分区>
我有两个功能:
-
public void DeleteRecord(int id);
-
public T DeleteRecord<T>(int id);
下面是我尝试动态调用泛型方法的方法:
MethodInfo method = typeof(DAL).GetMethod("DeleteRecord", new[] { typeof(int) });
MethodInfo generic = method.MakeGenericMethod(returnType);
object o = generic.Invoke(null, new object[] { dbname, spname, expandoAsDictionary });
第一行抛出一个异常,因为它发现了一个不明确的定义。有什么办法可以得到 MethodInfo
不使用 GetMethods
的通用方法并遍历要求 IsGenericMethod
的结果?
编辑: 请删除“重复”,因为两个建议的答案要么通过内部循环(GetMethods().Select...)解决这个问题,要么甚至不解决重载问题。