在Visual c#中隐式地从X转换为Y时抛出警告/错误

本文关键字:错误 警告 转换 Visual | 更新日期: 2023-09-27 18:16:19

是否有可能选择性地将某些隐式类型转换视为错误,或者至少在它们发生时生成警告?

坏:

long x = 5; //warning, 5 is an int
float f = 10;// warning, 10 is an int


好:

long x = 5L; //correct, no warning
float f = 10f; //correct, no warning

编辑:删除了对bug的引用,因为这不是问题的重点,而且没有帮助。

在Visual c#中隐式地从X转换为Y时抛出警告/错误

如果您使用的是Visual Studio Premium+,那么您可以创建一个代码分析规则集来在构建时处理此问题。

你也可以编写自己的VS.NET扩展,并可能与Roslyn集成,以询问代码到编译器的程度。

不,这不可能。根据语言规范,这些是合法的。

坦率地说,我甚至没有看到您提供的示例可能导致的细微错误。