Pourquoi est primordial méthode statique admis en C#

protected static new void WhyIsThisValidCode()
{
}

Pourquoi êtes-vous autorisé à remplacer les méthodes statiques?
Rien mais les bugs ne peut venir de lui, il doensn fonctionne pas comme on pourrait le croire.

Prendre les classes suivantes.

class BaseLogger
{
    protected static string LogName { get { return null; } }

    public static void Log(string message) { Logger.Log(message, LogName); }
}

class SpecificLogger : BaseLogger
{
    protected static string LogName { get { return "Specific"; } }
}

c'est admis, et le code

SpecificLogger.Log("test");

est altso admis, mais il ne fait pas ce qu'on pourrait penser en regardant le code.

il appelle Logger.Log avec LogName = null.

Alors pourquoi est-ce autorisé?

Comme d'autres l'ont dit, ce n'est pas primordial et il ne exactement comme je l'avais prévu. S'il vous plaît ne présumez pas que tout le monde pense de la même façon que vous.

OriginalL'auteur AndreasN | 2010-11-16