Можно ли объявлять приватные методы внутри интерфейса в языке программирования?

В C# начиная с версии 8.0 появилась возможность объявлять приватные методы внутри интерфейсов.

Короткий ответ

Что ответить на собеседовании

В C# начиная с версии 8.0 появилась возможность объявлять приватные методы внутри интерфейсов. Это позволяет скрыть вспомогательную логику, используемую в методах по умолчанию (default interface methods), от внешнего доступа.

Подробный разбор

Ответ с пояснениями

В C# начиная с версии 8.0 появилась возможность объявлять приватные методы внутри интерфейсов. Это позволяет скрыть вспомогательную логику, используемую в методах по умолчанию (default interface methods), от внешнего доступа.

Пример:

public interface IExample
{
    void PublicMethod()
    {
        PrivateHelper();
    }

    private void PrivateHelper()
    {
        Console.WriteLine("Приватный метод внутри интерфейса");
    }
}

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее