gpt4 book ai didi

c# - 如何在 C# 中使用反射来查找满足特定委托(delegate)要求的类的所有成员?

转载 作者:行者123 更新时间:2023-12-01 21:27:07 24 4
gpt4 key购买 nike

我有一个类,它有很多公共(public)方法,我想对其进行反射(reflection)以找到可用作特定委托(delegate)的成员方法集。

例如:

delegate void InterestingFunc(int i);

class Entity
{
public void F();
public void G();
public void H(int i);
public void X(int i);
}

我可以使用 Type.FindMembers() 提取集合 { H, X } 吗?如果是这样,怎么办?有更好的办法吗?

最佳答案

Type 中没有固有的查询支持,它将根据委托(delegate)签名查找方法。您需要手动编写一个搜索方法,该方法循环遍历方法和属性,手动将签名与建议委托(delegate)的签名进行比较。

这本身就是一个不平凡的操作,因为您需要在解决方案中考虑泛型。

关于c# - 如何在 C# 中使用反射来查找满足特定委托(delegate)要求的类的所有成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1168245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com