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