Sobes.tech
Junior — Middle

Може ли да се обявяват променливи или полета в интерфейса?

sobes.tech AI

Отговор от AI

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

Въпреки това, от C# 8.0 нататък, в интерфейсите могат да се обявяват:

  • Константи (статични readonly полета с инициализация)
  • Статични методи с реализация
  • Свойства с подразбираща се реализация

Но обикновените нестатични полета в интерфейсите не могат да се обявяват.

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

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