Sobes.tech
Junior — Middle

Peut-on déclarer l'implémentation d'une méthode directement dans la définition d'une interface?

sobes.tech IA

Réponse de l'IA

À partir de C# 8.0, il est possible de déclarer des implémentations de méthodes directement dans leur définition dans les interfaces — cela s’appelle les "méthodes avec implémentation par défaut" (default interface methods). Cela permet d’ajouter de nouvelles méthodes aux interfaces sans perturber les implémentations existantes.

Exemple :

public interface ILogger
{
    void Log(string message); // méthode normale d’interface

    void LogWarning(string message) // méthode avec implémentation par défaut
    {
        Log("Warning: " + message);
    }
}

Auparavant, dans les interfaces, on ne pouvait déclarer que des signatures de méthodes sans corps. Désormais, il est possible d’écrire le corps de la méthode, ce qui étend les capacités des interfaces.