我想处理从类 A 派生的类的方法。类 A 和派生类位于不同的程序集中。我使用反射从派生程序集中获取所有 System.Type 并遍历它们的方法。
Assembly A: class Template {...}
Assembly B: class X: A.Template {...}
Assembly B: class Y: A.Template {...}
Assembly B: class Z: A.Template {...}
当我尝试X
在程序集中迭代类的方法时B
,它包括类的所有方法A
。我想要实现的是仅遍历派生类中存在的那些方法。
我认为在不同的程序集中根本不重要,但即使我尝试根据程序集过滤方法的声明类型,它也不起作用。
我尝试使用MethodInfo
对象的各种属性,但无法将其过滤掉。我确信我错过了一些愚蠢的检查,但已经为此苦苦挣扎了足够长的时间。
任何意见,将不胜感激。