Avatar ·

Implémentation implicite et explicite des interfaces en C# : quand et laquelle utiliser ?

Bonjour à tous ! Je viens de commencer à apprendre C# et je suis tombé sur le sujet des interfaces. Tout semble clair : une interface est un contrat, la classe l'implémente. Mais j'ai vu que les interfaces peuvent être implémentées de deux manières : implicitement (implicit) et explicitement (explicit). Et je suis confus. Voici un exemple :
public interface IWorker
{
    void Work();
}

public class Employee : IWorker
{
    // Implémentation implicite
    public void Work()
    {
        Console.WriteLine("Employee works");
    }
}
Tout fonctionne. Mais j'ai lu qu'on peut aussi faire comme ça :
public class Manager : IWorker
{
    // Implémentation explicite
    void IWorker.Work()
    {
        Console.WriteLine("Manager works");
    }
}
Et maintenant, si j'écris :
Manager m = new Manager();
m.Wor