ResharperやRiderが薦めてくる。Use base class qualifierについてです。
using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { // このコードに対して、A.GetKeyword()にすることを薦めてくる。 Console.WriteLine(B.GetKeyword()); } class A { public static string GetKeyword() => "a"; } class B:A { } } }
これって意味あるのかな、と思ったりもします。
確かに、Use base keywordと同じように揃えておいた方が良いか、とも思ったのですが、それよりは、こちらの方が意味のある修正です。
というのも拡張性が関わってきます。
このコードが
using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine(B.GetKeyword()); } class A { public static string GetKeyword() => "a"; } class B:A { // !!!コードを追加 public static string GetKeyword() => "b"; } } }
とメソッドを追加された時、別の結果になってしまいます。
この規模のコードだったら、そりゃそうでしょですが、大規模なコードであれば、修正した途端、思わぬところで被害が出る可能性があります。
だから、修正するのが怖いでは話にならないので、普段からマメに手入れをしておくことは重要ですね。