Sobes.tech
Junior — Middle

Pode-se declarar a implementação de um método diretamente na definição de uma interface?

sobes.tech IA

Resposta da IA

A partir do C# 8.0, surgiu a possibilidade de declarar implementações de métodos diretamente na sua definição nas interfaces — isto é chamado de "métodos com implementação padrão" (default interface methods). Isto permite adicionar novos métodos às interfaces sem quebrar as implementações existentes.

Exemplo:

public interface ILogger
{
    void Log(string message); // método normal de interface

    void LogWarning(string message) // método com implementação padrão
    {
        Log("Warning: " + message);
    }
}

Anteriormente, nas interfaces, só era possível declarar assinaturas de métodos sem corpo. Agora, é possível escrever o corpo do método, o que amplia as capacidades das interfaces.