gpt4 book ai didi

具有 '-' 字符的 C# 项目文件夹命名空间

转载 作者:太空狗 更新时间:2023-10-30 01:17:26 37 4
gpt4 key购买 nike

我意识到包含命名空间提供程序的“-”字符的文件夹确实获得了与预期不同的命名空间。

例如我观察到嵌入式资源:

AssemblyName/lib/font/source-sans-pro/source-sans-pro.css

最后会有以下命名空间:

AssemblyName.lib.font.source_sans_pro.source-sans-pro.css

因此对于文件夹而不是文件(为什么?), namespace 发生变化,因此“-”被替换为“_”下划线字符。

不幸的是,我找不到任何描述此行为的官方引用资料。任何人都可以提供有关此行为的一些引用吗?为什么文件夹命名空间会发生变化?为什么不是文件的命名空间?

最佳答案

标识符中不允许使用连字符,命名空间就是标识符。原因很简单,如果您考虑一下 - x-y 是二进制 - 运算符,操作数为 xy。试图让它成为一个有效的标识符将是非常糟糕的。

C# 5 规范第 2.4.2 节中对允许的标识符进行了完整描述。当然,与 C# 规范相比,您的嵌入式资源最终与 CLI 规范的相关性更高,但它具有相似的规则 - 定义(在 ECMA-335 中)以遵循 Annex 7 of Technical Report 15 of the Unicode 3.0 Standard 的规则。 .

关于具有 '-' 字符的 C# 项目文件夹命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31741637/

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