Warum lässt C # nicht zu, dass statische Methoden eine Schnittstelle implementieren?

Warum wurde C # so entworfen?

Wie ich es verstehe, beschreibt eine Schnittstelle nur das Verhalten und dient dem Zweck, eine vertragliche Verpflichtung für Klassen zu beschreiben, die die Schnittstelle implementieren, in der ein bestimmtes Verhalten implementiert ist.

Wenn Klassen dieses Verhalten in einer gemeinsamen Methode implementieren möchten, warum sollten sie es nicht tun?

Hier ist ein Beispiel für das, was ich vorhabe:

// These items will be displayed in a list on the screen.
public interface IListItem {
  string ScreenName();
  ...
}

public class Animal: IListItem {
    // All animals will be called "Animal".
    public static string ScreenName() {
        return "Animal";
    }
....
}

public class Person: IListItem {

    private string name;

    // All persons will be called by their individual names.
    public string ScreenName() {
        return name;
    }

    ....

 }

Antworten auf die Frage(24)

Ihre Antwort auf die Frage