标识符和 属性 System.Text.Encoding.UTF8 的 .NET 大写规则

.NET Capitalization Rules for Identifiers and property System.Text.Encoding.UTF8

为什么 属性 System.Text.Encoding.UTF8 的名称全部大写?根据 Capitalization Rules for Identifiers 和 UTF 是一个超过 2 个字符的首字母缩略词这一事实,属性 应该命名为 System.Text.Encoding.Utf8 还是我错了?

全是大写的,因为它是以这种方式创作的。

.NET 1.0 的设计和实现(并且 Encoding.UTF8 一直追溯到那里)远远早于当前形式的框架设计指南,更不用说它们的实施了。因此,您可以在这些准则的框架内发现大量违规行为。小样本:

  • System.Security.Cryptography.RNGCryptoServiceProvider(以及 System.Security.Cryptography 中的许多其他 类)
  • System.Text.ASCIIEncoding
  • System.Runtime.InteropServices.COMException

系统搜索可能会显示更多。

这并不像看起来那么愚蠢:人们首先提出指导方针的全部原因是因为他们注意到这样的不一致,然后坐下来想出一套最能反映的规则目前的做法。然而,返回更改当前 类 的大小写(并在此过程中破坏现有软件)是不值得的。