Junior — Middle
Μπορούν να δηλωθούν μεταβλητές ή πεδία στη διεπαφή;
sobes.tech AI
Απάντηση από AI
Στα C#, στις διεπαφές δεν μπορούν να δηλωθούν συνηθισμένες μεταβλητές ή πεδία, καθώς η διεπαφή ορίζει μόνο μια σύμβαση — ένα σύνολο μεθόδων, ιδιοτήτων, γεγονότων και δείκτες χωρίς υλοποίηση.
Ωστόσο, από το C# 8.0 και μετά, στις διεπαφές μπορούν να δηλωθούν:
- Σταθερές (στατικά readonly πεδία με αρχικοποίηση)
- Στατικές μέθοδοι με υλοποίηση
- Ιδιότητες με προεπιλεγμένη υλοποίηση
Αλλά, συνηθισμένα, μη στατικά πεδία στις διεπαφές δεν μπορούν να δηλωθούν.
Παράδειγμα σταθεράς σε διεπαφή:
public interface IExample
{
const int MaxValue = 100;
void DoWork();
}