今日、レガシー コードで何かを見つけました。1つの機能に「静的新規」があります。このように見えます。
class Foo
{
public static void Do()
{
Console.WriteLine("Foo.Do");
}
}
class Bar: Foo
{
public static new void Do()
{
Console.WriteLine("Bar.Do");
}
}
クラスBarのDoメソッドのstatic new修飾子がわかりません。C# では、静的メソッドは、オブジェクト名ではなくクラス名でのみ呼び出すことができます。ですから、「新しい」があるのとないのとでは、違いはないと思います。
一般に、構文が不要な場合、C# は単にエラーとして扱います。C# でこのような構文が許可されている理由について、誰もが何か考えを持っていますか?