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

标签 .net reflection visibility reflection.emit

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

最佳答案

MethodInfo 上有许多属性和 Type可用于查询可见性的对象。

例如,对于类型,您可以检查 IsPublic , IsPrivate , IsNotPublic , IsNested , IsNestedFamOrAssembly , 还有更多。

对于方法(MethodInfo 对象),您有一个类似的集合:IsPublic , IsPrivate , IsFamilyOrAssembly , 等等。

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

关于.net - 如何使用反射判断类/方法是否可访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3055906/

相关文章:

java - 有没有办法通过反射utils获取类型X的所有实例

c# - 计算对象中所有字符串属性的总长度

c# - Dispose,什么时候调用?

.net - Windows 7 Ultimate x64 上的 System.Net.HttpListener 限制为 1k 并发连接

.net - 加载大量用户控件的性能问题

ubuntu - 如何使用 Kotlin 的反射?

jquery - 使用 jquery 测试真实可见性 - :visible gives wrong results

javascript - jquery 可见性选择器

html - 使用可见性 : hidden. 时奇怪的 CSS 行为是否在规范中定义?

.net - 尝试加载自定义配置时 Visual Studio 安装和部署项目中的 FileNotFoundException