En términos simples, si una clase hereda de 2 o más interfaces y si las interfaces tienen los mismos nombres de método, la clase no sabe qué método de interfaz se implementa si utiliza la implementación de interfaz implícita. Este es uno de los escenarios en los que implementaría explícitamente una interfaz.
implícito interfaz Implementtation
public class MyClass : InterfaceOne, InterfaceTwo
{
public void InterfaceMethod()
{
Console.WriteLine("Which interface method is this?");
}
}
interface InterfaceOne
{
void InterfaceMethod();
}
interface InterfaceTwo
{
void InterfaceMethod();
}
Implementación explícita de interfaces
public class MyClass : InterfaceOne, InterfaceTwo
{
void InterfaceOne.InterfaceMethod()
{
Console.WriteLine("Which interface method is this?");
}
void InterfaceTwo.InterfaceMethod()
{
Console.WriteLine("Which interface method is this?");
}
}
interface InterfaceOne
{
void InterfaceMethod();
}
interface InterfaceTwo
{
void InterfaceMethod();
}
El siguiente enlace tiene un excelente video que explica este concepto
Explicit Interface Implementation
Resolviendo conflictos aquí ..... "Implementación implícita" - significa simplemente la implementación simple de un método particular que tiene el mismo nombre y la misma firma que pertenece a la misma clase, donde como "Implementación explícita" - significa la implementación de un método utilizando su Nombre de interfaz con el mismo nombre y firma en esa clase en particular. –