Jeffer的书中说,清单元数据表中有一份名叫ExportedTypesDef的表,其中定义了所有的导出类型条目。但是我在查看单文件程序集的时候却没有发现元数据当中有ExportedTypes的定义。后来又仔细看了一下书才明白,为了节省文件空间,所以在元数据定义元数据表中所定义的导出类型是不会在ExportedTypesDef表中重复出来的。这也就是说,只有当一个程序集是由多个模块块文件组成的时候,其它模块文件中导出的类型才会在程序集清单中被定义。使用了这种定义方式。相当于在程序集清单中提供一个查找程序中所定义类型的索引。当CLR查找程序集中类型时,它会根据程序集清单ExportdTypesDef表的定义,在相应的模块文件当中查找到需要的类型定义。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步