代码检查:成员隐藏了外部类的静态成员
以下代码示例没有太大问题,至少在当前状态下,您可以一次性查看所有声明。 然而,随着 FooNested 类的增长, DoSomething() 可能不再靠近 Bar 的两个声明,阅读代码的人可能会错误地认为 DoSomething() 使用了 Foo.Bar 而不是 FooNested.Bar。 此外,如果有人稍后从 FooNested 中移除了 Foo 声明,他们可能不会注意到 Foo 的剩余用法将返回 Foo.Bar 的值。
因此,ReSharper 会发出警告,以引起您对该代码潜在问题的注意。 没有 快速修复 ,因为 Bar 的声明确实是有意的。 但如果不是,并且您希望安全地重命名它,请按 F2 以调用 重命名重构。
public class Foo
{
private static string Bar { get; set; }
// some other members
private class FooNested
{
private static string Bar { get; set; }
static void DoSomething()
{
Console.WriteLine(Bar);
}
}
}
最后修改日期: 2025年 9月 27日