gpt4 book ai didi

c# - 嵌套类 .GetType()

转载 作者:太空狗 更新时间:2023-10-29 20:25:08 24 4
gpt4 key购买 nike

在处理嵌套类并将类型名称输出到控制台窗口时,我注意到了一些奇怪的事情。我想知道是否有人可以为我解释一下。在主类上调用 GetType() 时,它会返回我所期望的,即相关命名空间之后的类名。即 Namespace.Namespace.Classname

但是,当我从封闭类中调用函数以返回嵌套类的类型时,我得到的返回值如下:

Namespace.Namespace.ClassNameEnclosing + ClassNameNested.

为什么它不简单地作为点符号返回。为什么是 + 符号?我只是想知道在导致这种表示法的背景中发生了什么。

最佳答案

点用于表示命名空间。嵌套类仍然在同一个命名空间中,它只是嵌套在一个类中。

我不能随便判断(通过对 ECMA-335 的简要研究)一个包含点的非限定类型名称在 IL 中是否真的有效;我怀疑它会,但它会使各种诊断更难阅读。

关于c# - 嵌套类 .GetType(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9110744/

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