【发布时间】:2011-03-04 14:38:48
【问题描述】:
我使用动态程序集在运行时创建派生类。如何通过反射判断基类和基类中的各个方法是否可以在动态程序集中的派生类中使用/调用?
【问题讨论】:
标签: .net reflection visibility reflection.emit
我使用动态程序集在运行时创建派生类。如何通过反射判断基类和基类中的各个方法是否可以在动态程序集中的派生类中使用/调用?
【问题讨论】:
标签: .net reflection visibility reflection.emit
MethodInfo 和 Type 对象上有许多属性可用于查询可见性。
例如,对于一个类型,您可以检查IsPublic、IsPrivate、IsNotPublic、IsNested、IsNestedFamOrAssembly 等等。
对于一个方法(MethodInfo 对象),您有一个类似的集合:IsPublic、IsPrivate、IsFamilyOrAssembly 等。
因此,将其与类型上的 Assembly 属性等信息结合起来(这样您就可以判断 Type1 和 Type2 是否都在同一个程序集中),您应该能够获得所需的所有信息。
【讨论】: