Back to questions
Junior — Middle
66
Можно ли определить конкретную реализацию методов внутри интерфейса?
Companies where asked
appfox
Answer from AI
sobes.tech AI
В C# начиная с версии 8.0 появилась возможность определять реализацию методов внутри интерфейса — это так называемые методы с реализацией по умолчанию (default interface methods).
Это позволяет добавлять новые методы в интерфейсы без нарушения существующих реализаций.
Пример:
public interface ILogger
{
void Log(string message);
void LogError(string message) // метод с реализацией по умолчанию
{
Log("ERROR: " + message);
}
}
public class ConsoleLogger : ILogger
{
public void Log(string message)
{
Console.WriteLine(message);
}
}
Таким образом, класс ConsoleLogger может не реализовывать LogError, и всё равно этот метод будет работать по умолчанию.