"类型是什么?-6ren"> "类型是什么?-我正在使用 Mono.Cecil 读取 Regex.CompileToAssembly() 生成的程序集.当我遍历这些类型时,在根命名空间中有一种类型,名为 .该类型没有基本类型。这是什么类型?这是-6ren">
gpt4 book ai didi

.net - ""类型是什么?

转载 作者:行者123 更新时间:2023-12-04 17:45:32 24 4
gpt4 key购买 nike

我正在使用 Mono.Cecil 读取 Regex.CompileToAssembly() 生成的程序集.当我遍历这些类型时,在根命名空间中有一种类型,名为 <Module> .该类型没有基本类型。这是什么类型?这是一些 Mono.Cecil 工件还是实际上是 .NET 程序集的一部分?它起什么作用?

最佳答案

<Module> type 是不适合 CLI 模型的声明的占位符。通常只与混合模式的程序集相关,包含以托管语言编写的代码以及非托管语言(如 C 或 C++)编写的代码。对于纯托管程序集,它是空的。

这些语言支持自由函数和全局变量。 CLR 不直接支持这一点,方法和变量必须始终是类型的成员。所以元数据生成器使用了一个简单的技巧,它创建了一个假类型来作为这些函数和变量的所在地。那个假类型的名字是<Module> .它始终具有隐藏成员的内部可访问性。这些类型只有一种,其 RID 始终为 1。

CLR 源代码将其称为“全局类”。

关于.net - "<Module>"类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35617201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com