Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

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

Пример:

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

    void LogWarning(string message) // метод с подразбираща се реализация
    {
        Log("Warning: " + message);
    }
}

Преди това, в интерфейсите можеха да се обявяват само сигнатури на методи без тяло. Сега, е възможно да се напише тялото на метода, което разширява възможностите на интерфейсите.