立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

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:5110424

评论

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

为什么中国软件逐渐国产化?

Geek_2305a8

谷歌SEO算法更新发展史:谷歌SEO优化排名背后的密码

九凌网络

免备案高防服务器租用优势全解析:高效、便捷、安全

一只扑棱蛾子

高防服务器

企业海外网络解决方案分析与比较

Ogcloud

SD-WAN 组网 企业组网 SD-WAN组网 SD-WAN服务商

公链系统开发全指南: 从规划到实施

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

比特币之路:技术突破、创新思维与领军人物

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

从 Apache Doris 到 SelectDB Cloud:云原生架构下的弹性能力揭秘

SelectDB

数据库 云计算 数据分析 云原生 弹性计算

当AI文曲星,照耀学海

脑极体

AI

软件测试学习笔记丨Selenium的PageObject设计模式

测试人

软件测试 自动化测试 测试开发

Web3 游戏周报(4.14-4.20)

Footprint Analytics

gamefi

地方发

群星

测试 单元测试

来了,好上岸的中小厂最新面经!

王中阳Go

golang 面试题 面经 大厂面经 最新后端面经

全量与增量的配置模式

RestCloud

数据同步 ETL 全量 增量

国内做TikTok直播,海外直播专线搭建是关键

Ogcloud

海外直播 tiktok直播 tiktok直播专线 海外直播网络 tiktok直播网络

企业理想中的IAM应该具备这四点:多、快、好、省

芯盾时代

企业 iam 统一身份认证 Idaas

第48期|GPTSecurity周报

云起无垠

Vision pro、人形机器人、Hala Point

声网

Apache IoTDB v1.3.1 发布|增加多种脚本工具、内置函数等功能

Apache IoTDB

Docker从入门到精通:Docker pull命令学习

霍格沃兹测试开发学社

基于研发过程改进的质量度量模型

鲸品堂

数据分析 质量

阿里巴巴1688.item_get API接口助力精准获取商品ID

技术冰糖葫芦

api 货币化 API 接口 API 文档 pinduoduo API

探索比特币符文热:市场趋势与持续性分析

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

芯盾时代IDaaS:IAM能上云,身份安全更简单

芯盾时代

网络安全 身份安全 云服务 iam 统一身份认证

开曼群岛:Web3企业的乐园

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 公链开发

BRC铭文NFT铸造质押挖矿系统开发运营

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

谷歌SEO优化教程:什么是内部链接?如何优化内部链接?

九凌网络

数新大数据平台迁移解决方案

数新网络官方账号

大数据 数据迁移

EPAI大模型开发平台,百模万企走出 “应用迷宫”

脑极体

AI

碳课堂|什么是碳市场?如何进行碳交易?

AMT企源

碳交易 碳管理 碳市场

聚道云软件连接器助力医疗器械有限公司打通金蝶云星辰与飞书

聚道云软件连接器

案例分享

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