Sobes.tech
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.