0

我最近遇到了一个错误,原因是在我的 VB.NET 项目的 For Each 循环中意外重用了一个变量。

Dim iterator As Integer = 0
For Each iterator In {1, 2, 3}
Next
Console.WriteLine(iterator)

此代码将输出 '3' 我应该为 For Each 循环使用不同的变量名。该循环正在修改在其他地方用于其他目的的变量。

我可以通过关闭 Option Infer 来防止这种行为。然而,这在我正在处理的一个中等规模的项目中引入了很多(3000 ish)错误。

我更喜欢的是一个代码分析规则,它在没有类型声明的情况下标记 For Each 的使用。

我快速浏览了 Visual Studio 2017 提供的代码分析规则,但看不到规则。我担心我可能不得不创建一个自定义规则。

在我开始使用自定义规则之前,任何人都可以澄清规则不存在吗?

4

0 回答 0