Junior — Middle
Lehet-e változókat vagy mezőket deklarálni a felületen?
sobes.tech MI
Válasz az MI-től
C#-ban az interfészekben nem lehet normál változókat vagy mezőket deklarálni, mivel az interfész csak szerződést határoz meg — metódusok, tulajdonságok, események és indexelők halmazát, implementáció nélkül.
Azonban a C# 8.0-tól kezdődően az interfészekben deklarálhatók:
- Konstansok (statikus readonly mezők inicializálással)
- Statikus metódusok implementációval
- Alapértelmezett implementációval tulajdonságok
De normál, nem statikus mezők deklarálása nem megengedett az interfészekben.
Példa egy konstansra egy interfészben:
public interface IExample
{
const int MaxValue = 100;
void DoWork();
}