AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

C#警告波预示未来将增加新的关键字

  • 2022-06-29
  • 本文字数:859 字

    阅读完需:约 3 分钟

C#警告波预示未来将增加新的关键字

与 C# 9 和 10 一样,C# 11 也悄悄地增加了一个新的编译器警告。该警告可以防止使用全部小写的类型名称(如类、结构和接口)。

 

创建这个警告是为了方便微软在未来添加新的关键字。C#的关键只包含小写 ASCII 字母,因此,加入其他任何字母都可以防止类型名称与未来的关键字发生冲突。

 

该警告的文档并没有详细说明他们正在考虑引入哪些关键字。

背景

C#工具链一直将其信息分为三大类:编译器错误、编译器警告和静态分析警告。错误会妨碍编译器正常工作。当这些错误发生时,基本上是在说,编译器检测到了不容忽视的问题。

 

另一类是编译器警告。这意味着存在明显的问题,但编译器仍然可以生成一个输出文件。编译器警告默认是启用的,但开发者可以忽略。另外,开发者也可以要求把它们当作错误处理。

 

最后一类基本上包含“其他一切”。静态分析错误可能只有在特定类型的应用程序甚至是应用程序的特定部分中才算是问题。它们比编译器警告更容易产生误报,也就是不恰当的警告。与其他类型的警告不同,静态分析警告默认是不启用的。在 Roslyn 编译器推出之前,它们是一个完全独立的工具的一部分。所以,有相当多的开发者从来没有用过它们。

 

历史上,微软一直不愿意增加新的编译器警告。因为它们是默认启用的,添加新警告被认为是一种破坏性变化。如果添加了新的警告并启用了 TreatWarningsAsErrors,那么在 C#7 中可以编译的代码在 C#8 中可能会无法编译。

 

从 C# 9 开始,微软增加了C#警告波(Warning Waves)的概念。这是些附加的编译器警告,也就是说,不需要额外安装一个工具或包,它们默认是不启用的。要使用它们,则必须将项目文件中的AnalysisLevel设置为 5 或者更高。


作者简介:

Jonathan Allen 从 90 年代末开始就为一家健康诊所建设 MIS 项目,帮他们从 Access 和 Excel 升级到企业解决方案。在花了五年时间编写金融业自动交易系统后,他成为各种项目的顾问,包括机器人仓库 UI、癌症研究软件的中间层以及一家大型房地产保险公司的大数据需求。在空闲时间,他喜欢研究源于 16 世纪的武术,并从事相关写作。

 

原文链接:

C# Warning Waves Hint at New Keywords in the Future

2022-06-29 08:5110915

评论

发布
暂无评论
发现更多内容

JavaScript 与 Rust 和 WebAssembly 集成

京东科技开发者

测试人生 | 被裁员后人生低谷到绝处逢生,薪资怒涨近40%

测试人

软件测试

了解一下,CST软件的TLM求解器

思茂信息

仿真软件 cst使用教程 电磁仿真

工具分享丨数据闪回工具MyFlash

GreatSQL

谈一谈 Netty 的内存管理 —— 且看 Netty 如何实现 Java 版的 Jemalloc

bin的技术小屋

Netty 内存管理 netty jemalloc管理器 Java.

鸿蒙网络编程系列36-固定包头可变包体解决TCP粘包问题

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

鸿蒙网络编程系列37-基于TCP套接字的TLS通讯客户端示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

亚马逊详情API接口的获取与应用

科普小能手

API 接口 API 测试 亚马逊API 亚马逊商品详情数据接口 亚马逊商品详情API

洞见数据未来,StarRocks Summit Asia 2024 即将启幕!

StarRocks

你知道什么是IP地址全生命周期吗?

郑州埃文科技

IP

数据资产也能入表?企业将迎来哪些变革?

郑州埃文科技

数据 数据资产入表

枫清·天枢多模态智能引擎 V2.1.2 版本正式发布!

Fabarta

图数据库 #人工智能 #大模型 多模态数据库

掌握数据,赢得市场 —— 淘宝商品详情API让电商运营更精准

技术冰糖葫芦

API 接口 API 测试 API 策略 pinduoduo API

简洁至上——探索产品与技术的优雅原则

京东科技开发者

低代码平台如何通过AI赋能,实现更智能的业务自动化?

天津汇柏科技有限公司

低代码 AI 人工智能

创新+1+1+1+1!筑牢算力底座,助推AI产业繁荣发展!

天翼云开发者社区

云计算 云原生

开源赋能开发者:基于 ASF 开源生态构建云原生时序数据库

Greptime 格睿科技

开源 云原生 时序数据库 数据管理

AI时代云动力:新一代弹性计算云主机开启智能计算新纪元!

天翼云开发者社区

云计算 云服务 云主机 弹性计算 天翼云

C#警告波预示未来将增加新的关键字_语言 & 开发_Jonathan Allen_InfoQ精选文章