原文链接:
https://dotnetcoretutorials.com/2022/08/10/fixing-cs891-the-type-name-only-contains-lower-cased-ascii-characters/
如果你的版本低于.NET 7,可能在.NET 6项目中遇到以下问题:
Warning CS8981: The type name only contains lower-cased ascii characters. Such names may become reserved for the language.
出现这类提示时,如果在.NET 6版本中正常,不报错的情况西啊,可以不用深究!.
我们看个例子,了解为什么会有这个提示。
假如你很多年前在.NET 2.0版本写了C#代码,你想定义一个异步的类,然后代码可能是这样的:
// 你自己的代码
class async {
// todo 各种逻辑
}
这里,“关键词async/await在.Net中不存在,所以需要用其中一个单词创建类名,尽管它们不一定符合传统的大驼峰命名法。
C# 5.0版本才出现async/await。现在就出现问题了,因为微软官方和你自己的命名冲突了。
我们知道,微软每年发布新版.NET/C#,可能会在未来版本中增加新的专用关键词,很显然微软无法把未来即将出现的关键词提前预留出来。
综上所述,微软的专用关键词已经是全部小写了,所以如果你在命名时避免全部小写,比如用驼峰就是好习惯,那未来肯定不会和微软冲突。记住C#本身是区分大小写的,大小写敏感!
再说明一下,这只是个提示,也可以忽略它。
但是需要我们在写代码的时候,多多注意写法规范。