Sobes.tech
Junior — Middle

İnterfeyslər daxilində sahələr elan etmək mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

В C# внутри интерфейсов нельзя объявлять поля (переменные экземпляра). Интерфейс может содержать только объявления методов, свойств, событий и индексаторов без реализации (до C# 8.0).

Это связано с тем, что интерфейс задаёт контракт, а не хранит состояние.

Начиная с C# 8.0, интерфейсы могут содержать реализации методов по умолчанию (default interface methods), но поля по-прежнему запрещены.

Пример интерфейса:

public interface IExample
{
    int Id { get; set; }
    void DoWork();
}

Если нужно хранить состояние, его реализуют в классах, которые реализуют интерфейс.