C# · Intermediário · Inglês · Técnico
explicit interface implementation
Implementação de um membro de interface escrita como IFoo.Metodo, que só fica visível quando o objeto é tratado pela interface. Resolve conflitos de nomes e esconde detalhes.
Onde usar
Aparece quando uma classe implementa duas interfaces com métodos de mesmo nome, ou quer esconder da API pública um membro exigido por uma interface, como IEnumerable.GetEnumerator não genérico.
Em código
interface IA { void Rodar(); }
interface IB { void Rodar(); }
class Duplo : IA, IB
{
void IA.Rodar() => Console.WriteLine("A");
void IB.Rodar() => Console.WriteLine("B");
}Exemplos
Use explicit interface implementation to avoid the name clash.
Use implementação explícita de interface para evitar o conflito de nomes.
You have to cast to the interface to call that method.
Você precisa fazer cast para a interface para chamar esse método.
Cuidado
Não espere chamar o membro pelo tipo da classe: sem um cast para a interface, o membro explícito não aparece.
Sinônimos
implementação explícita
Antônimos
implementação implícita