gpt4 book ai didi

c# - C# 命名空间是否编译成 IL 文件为 "complete"名称?

转载 作者:太空狗 更新时间:2023-10-30 00:18:45 25 4
gpt4 key购买 nike

例如,如果我有

namespace a
namespace b
{
class C...
class D...
}

那么编译之后,在IL文件中,命名空间信息在哪里呢?我是否得到两个名为 a.b.C 和 a.b.D 的类,其中类名以命名空间名称为前缀?

或者我在程序集文件中得到一个命名空间 a.b 并在其中包含类 C/类 D,就像 C# 代码一样?

最佳答案

CLR 对命名空间一无所知。当你访问一个类型时,CLR需要知道类型的全名和哪个程序集包含类型的定义,以便运行时可以加载正确的程序集,找到类型并对其进行操作。

这意味着你的 class Cnamespace b 中的存储方式类似于 b.C

关于c# - C# 命名空间是否编译成 IL 文件为 "complete"名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30797415/

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