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);
}
}
Преди това, в интерфейсите можеха да се обявяват само сигнатури на методи без тяло. Сега, е възможно да се напише тялото на метода, което разширява възможностите на интерфейсите.