.NET反射的定义:审查元数据并收集关于它的类型信息的能力。
元数据是一种二进制信息,用以对存储在公共语言运行库可移植可执行文件 (PE) 文件或存储在内存中的程序进行描述。将您的代码编译为 PE 文件时,便会将元数据插入到该文件的一部分中。
而将代码转换为 Microsoft 中间语言 (MSIL) 并将其插入到该文件的另一部分中。在模块或程序集中定义和引用的每个类型和成员都将在元数据中进行说明。
当执行代码时,运行库将元数据加载到内存中,并引用它来发现有关代码的类、成员、继承等信息。
元数据以非特定语言的方式描述在代码中定义的每一类型和成员。元数据存储以下信息:
程序集的说明:
1. 标识(名称、版本、区域性、公钥)。
2. 导出的类型。
3. 该程序集所依赖的其他程序集。
4. 运行所需的安全权限。
类型的说明:
1. 名称、可见性、基类和实现的接口。
2. 成员(方法、字段、属性、事件、嵌套的类型)。 |