Mit
base würdest du in diesem konkreten Fall die Klasse
Gemeinde ansprechen.
Weißt du eigentlich, wann man ein Interface einsetzt und wann es Sinn macht, ein solches zu definieren? Dein Code ist unübersichtlich und ergibt für mich keinen Sinn.
Erkläre bitte mal, was du erreichen willst und was die Klassen repräsentieren.
Properties in einem Interface sind auch nicht unbedingt sauber, wenn sie vermieden werden können.
Sinnvoll wäre in deinem Beispiel wohl eher eine Basisklasse
Gemeinde die ein Feld / eine Eigenschaft
Name besitzt. Nun kannst du Unterklassen definieren (beispielsweise
KreisfreieGemeinde) die von
Gemeinde erben. Dementsprechend wird das Feld / die Eigenschaft
Name mit übernommen.
Ein Interface setzt man ein, wenn es um eine Funktion geht. Beispielsweise wenn ich die Klassen Auto, Handy und Notebook hätte (mal ganz trivial) würde ich ein Interface
IChargable (Funktion
void Charge()) definieren, das jede Klasse implementiert und für sich selbst definiert. So könnte ich Instanzen von allen 3 Klassen mit Charge ansprechen, ohne zu wissen um welche Klasse es sich handelt.
Code:
IChargable someinterface = new Handy();
someinterface.Charge(); // -> Handy.Charge()
someinterface = new Auto();
someinterface.Charge(); // -> Auto.Charge()