Sobes.tech
Junior — Middle
96

Можно ли в интерфейсе объявлять переменные или поля?

Answer from AI

sobes.tech AI

В C# в интерфейсах нельзя объявлять обычные переменные или поля, так как интерфейс определяет только контракт — набор методов, свойств, событий и индексаторов без реализации.

Однако начиная с C# 8.0, в интерфейсах можно объявлять:

  • Константы (static readonly поля с инициализацией)
  • Статические методы с реализацией
  • Свойства с реализацией по умолчанию

Но обычные нестатические поля в интерфейсах объявлять нельзя.

Пример константы в интерфейсе:

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