.NET反射机制深入解析
1. 概述
在.NET编程中,反射是一项强大的功能,它允许程序在运行时获取类型信息、创建对象、调用方法等。本文将深入探讨.NET反射中的一些关键概念,包括 Module 、 MemberInfo 、 Type 和 TypeInfo ,以及泛型类型的处理。
2. Module类
Module 类在.NET反射中扮演着特定的角色。从结构上看, Assembly 可以看作是 Module 对象的容器。不过在.NET中,.NET Framework支持将一个程序集的内容拆分到多个文件(模块)的特性很少被使用,所以在大多数情况下,我们可以忽略 Module 类型,使用反射API中的其他类型就能满足需求。
但有一个例外情况,在运行时生成代码的API要求我们指定生成的代码应该包含在哪个模块中,即使只创建一个模块也是如此。
Module 类还提供了一个令人意外的服务,它定义了 GetField 、 GetFields 、 GetMethod 和 GetMethods 属性,这些属性可以让我们访问全局作用域的方法和字段。在C#中,我们看不到这些全局作用域的成员,因为C#要求所有字段和方法都必须定义在类型内部,但CLR是允许全局作用域的方法和字段的
超级会员免费看
订阅专栏 解锁全文
209

被折叠的 条评论
为什么被折叠?



