代码检查:局部函数中的变量隐藏了外部作用域的变量
该检查会在内部作用域声明的局部变量或参数隐藏外部作用域变量时报告。 在嵌套的局部函数或 lambda 中重复使用同名变量可能会导致代码读取或修改的变量变得不明确。
示例
void M()
{
int value = 1;
void Local()
{
int value = 2;
Console.WriteLine(value);
}
}
void M()
{
int value = 1;
void Local()
{
int localValue = 2;
Console.WriteLine(localValue);
}
}
快速修复
请重命名内部变量,以避免隐藏外部变量。
2026年 5月 8日