コードインスペクション:メンバーが外部クラスの静的メンバーを隠している。
以下のコード例には、少なくともすべての宣言を一度に監視できる現在の状態では、それほど問題はありません。 ただし、 FooNested クラスが大きくなり、 DoSomething() が Bar の両方の宣言にそれほど近くないため、コードを読んだ人は、 DoSomething() が FooNested.Bar ではなく Foo.Bar を使用していると誤って考える可能性があります。 さらに、誰かが後で FooNested から Foo 宣言を削除した場合、 Foo の残りの使用箇所が Foo.Bar の値を返すことに気付かない可能性があります。
そのため、ReSharper はこのコードの潜在的な問題に注意を引くために警告を出します。 Bar のこの宣言は確かに意図されているため、 クイックフィックスはありません。 ただし、そうではなく、安全に名前を変更したい場合は、 F2 を押して Rename リファクタリング を呼び出します。
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);
}
}
}
2026 年 6 月 12 日