我的问题是,在我的清理中修复了来自编辑器配置的警告/错误。但它也会自动修复 CS0535。但我不希望这种情况发生。如何消除错误并获取修复建议,但在构建应用程序时仍然抛出错误?
我已经尝试过:
dotnet_diagnostic.CS0535.severity = suggested
但这不起作用。
CS0535 的Microsoft 官方文档以以下大写字母标题开头:
所以,这是一个编译器错误,而不是警告。
警告和错误的区别在于警告可以被抑制,但错误不能被抑制;它们绝对必须被修复。
至于为什么是错误而不是警告:
CS0535 的文字是
'class' does not implement interface member 'member'
。
如果 CS0535 是一个警告,那么您将能够抑制它,从而假设创建一个类,该类宣称它实现了某个接口,但缺少该接口的成员之一。
那么,如果您引用了由 that 类的实例实现的 that 接口,并且尝试调用 that 成员,会发生什么情况?
你可能会说,“我保证我永远不会给失踪的成员打电话。”
嗯,事情是这样的:强类型、编译型、real编程语言存在的根本原因就是为了最大限度地减少人为错误。这具体意味着该语言并不关心你承诺做什么、你想做什么、你今天在床的哪一边醒来等等;该语言建立了牢不可破的规则,以绝对的方式管理你可以做什么和不能做什么。
这就是真正的编程语言被编译的原因;编译步骤会检测代码中的所有语义错误。
C#是一种真正的编程语言;它不是某种脚本语言,您可以在其中输入任何废话,并且它只会在运行时被捕获(如果有的话)。