首页 新闻 会员 周边

Type.GetMethod,如何查询泛型和非泛型方法

0
悬赏园豆:20 [待解决问题]

假如有两个方法:

public class A
{
public void Get(string val) {}
public void Get<T>(string val) {}
}
这时候,通过Type.GetMethod获取方法,如何区分泛型和非泛型呢?

var obj = new A();

var method = obj.Type.GetMethod("Get") //如果直接这样查询,会提示错误: //Ambiguous match found.

我又不想使用GetMethods()获取一堆方法出来之后筛选。

想知道如何直接获取?

我不清楚应该用哪个合适。

天星轮回的主页 天星轮回 | 初学一级 | 园豆:94
提问于:2022-12-20 17:12
< >
分享
所有回答(1)
0

还有一个选择 GetMethods

var obj = new A();
var method = obj.GetType().GetMethods()
    .Where(m => m.IsGenericMethod && m.Name == "Get")
    .FirstOrDefault();
dudu | 园豆:30994 (高人七级) | 2022-12-20 17:30

嗯,我现在就是使用GetMethods().Where()。
但总感觉步骤多了,想知道有没有直接获取的办法,如GetMethod。

支持(0) 反对(0) 天星轮回 | 园豆:94 (初学一级) | 2022-12-31 17:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册