Junior — Middle
Може ли да се обявяват променливи или полета в интерфейса?
sobes.tech AI
Отговор от AI
В C# в интерфейсите не могат да се обявяват обикновени променливи или полета, тъй като интерфейсът определя само контракт — набор от методи, свойства, събития и индексатори без реализация.
Въпреки това, от C# 8.0 нататък, в интерфейсите могат да се обявяват:
- Константи (статични readonly полета с инициализация)
- Статични методи с реализация
- Свойства с подразбираща се реализация
Но обикновените нестатични полета в интерфейсите не могат да се обявяват.
Пример за константа в интерфейс:
public interface IExample
{
const int MaxValue = 100;
void DoWork();
}