L'explicit membre de mise en œuvre permettent de désambiguïsation de
les membres interface avec la même signature.
Sans explicit membre interface implémentations, il serait impossible pour une classe ou d'une structure différentes implémentations de l'interface de membres avec la même signature et le type de retour.
Pourquoi Explicite la mise en Œuvre d'une Interface ne peut pas être public?
Lorsqu'un membre est explicitement mis en œuvre, il ne peut pas être consulté par le biais d'une instance de classe, mais seulement à travers une instance de l'interface.
public interface IPrinter
{
void Print();
}
public interface IScreen
{
void Print();
}
public class Document : IScreen,IPrinter
{
void IScreen.Print() { ...}
void IPrinter.Print() { ...}
}
.....
Document d=new Document();
IScreen i=d;
IPrinter p=d;
i.Print();
p.Print();
.....
Explicit interface membre des implémentations ne sont pas accessibles par le biais de la classe ou structure des instances.