代码检查:局部函数中的变量隐藏了外部作用域的变量
此检查会在内部作用域中声明的局部变量或参数隐藏了外部作用域的变量时进行报告。 在嵌套的局部函数或 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日