Junior — Middle
È possibile dichiarare l'implementazione di un metodo direttamente nella definizione di un'interfaccia?
sobes.tech AI
Risposta dell'AI
A partire da C# 8.0, nelle interfacce è stata introdotta la possibilità di dichiarare implementazioni di metodi direttamente nella loro definizione — questo è chiamato "metodi con implementazione predefinita" (default interface methods). Questo permette di aggiungere nuovi metodi alle interfacce senza interrompere le implementazioni esistenti.
Esempio:
public interface ILogger
{
void Log(string message); // metodo normale dell'interfaccia
void LogWarning(string message) // metodo con implementazione predefinita
{
Log("Warning: " + message);
}
}
In precedenza, nelle interfacce si potevano dichiarare solo firme di metodi senza corpo. Ora, è possibile scrivere il corpo del metodo, ampliando le capacità delle interfacce.