475 Stimmen

Warum erlaubt C# nicht, dass statische Methoden eine Schnittstelle implementieren?

Warum wurde C# auf diese Weise entwickelt?

So 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, dass ein bestimmtes Verhalten implementiert wird.

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

Hier ist ein Beispiel für das, was mir vorschwebt:

// 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;
    }

    ....

 }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X