ExpertiDict

C# · Intermediário · Inglês · Técnico

explicit interface implementation

/ɪkˈsplɪsɪt ˈɪntɚfeɪs ˌɪmpləmɛnˈteɪʃən/substantivo

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

Veja também

Todos os termos de C#