Sobes.tech
Back to questions
Junior — Middle
78

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

Companies where asked
AstonAston

Answer from AI

sobes.tech AI

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

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

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

public interface ILogger
{
    void Log(string message);
}

Попытка объявить поле внутри интерфейса вызовет ошибку компиляции.