如何判断是否可以使用反射访问类/方法?

时间:2010-06-16 18:00:36

标签: .net reflection visibility reflection.emit

我使用动态程序集在运行时创建派生类。如何使用反射来判断基类中的基类和单个方法是否可以在动态程序集中的派生类中使用/调用?

1 个答案:

答案 0 :(得分:3)

MethodInfoType个对象上有许多属性可用于查询可见性。

例如,对于某种类型,您可以检查IsPublicIsPrivateIsNotPublicIsNestedIsNestedFamOrAssembly等等。

对于方法(MethodInfo对象),您有类似的集:IsPublicIsPrivateIsFamilyOrAssembly等。

因此,将它与类型上的Assembly属性等信息结合起来(这样就可以判断Type1和Type2是否在同一个程序集中),并且您应该能够获得所需的所有信息。 / p>