Sobes.tech
Back to questions
Junior — Middle
65

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

Answer from AI

sobes.tech AI

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

Пример:

public interface ILogger
{
    void Log(string message); // обычный метод интерфейса

    void LogWarning(string message) // метод с реализацией по умолчанию
    {
        Log("Warning: " + message);
    }
}

Ранее в интерфейсах можно было объявлять только сигнатуры методов без тела. Теперь же можно писать тело метода, что расширяет возможности интерфейсов.