Sobes.tech
Junior — Middle

Μπορούν να δηλωθούν μεταβλητές ή πεδία στη διεπαφή;

sobes.tech AI

Απάντηση από AI

Στα C#, στις διεπαφές δεν μπορούν να δηλωθούν συνηθισμένες μεταβλητές ή πεδία, καθώς η διεπαφή ορίζει μόνο μια σύμβαση — ένα σύνολο μεθόδων, ιδιοτήτων, γεγονότων και δείκτες χωρίς υλοποίηση.

Ωστόσο, από το C# 8.0 και μετά, στις διεπαφές μπορούν να δηλωθούν:

  • Σταθερές (στατικά readonly πεδία με αρχικοποίηση)
  • Στατικές μέθοδοι με υλοποίηση
  • Ιδιότητες με προεπιλεγμένη υλοποίηση

Αλλά, συνηθισμένα, μη στατικά πεδία στις διεπαφές δεν μπορούν να δηλωθούν.

Παράδειγμα σταθεράς σε διεπαφή:

public interface IExample
{
    const int MaxValue = 100;
    void DoWork();
}