Dans Visual Studio, je peux cliquer avec le bouton droit sur une interface et choisir d'implémenter une interface ou d'implémenter une interface explicitement.
public class Test : ITest
{
public string Id // Generated by Implement Interface
{
get { throw new NotImplementedException(); }
}
string ITest.Id // Generated by Implement Interface Explicitly
{
get { throw new NotImplementedException(); }
}
}
La seule différence que je vois entre les deux est que le nom de l'interface est ajouté aux propriétés et méthodes de l'interface lors de leur création si vous choisissez d'implémenter l'interface explicitement.
Je trouve que cela rend le code un peu plus lisible puisque je peux voir d'où vient cette méthode / propriété, mais cela fait-il une différence dans la façon dont la classe est utilisée ou compilée? Et est-ce vraiment important si j'implémente mes interfaces implicitement ou explicitement?