C# · Avançado · Inglês · Técnico
default interface method
Método de interface com corpo padrão (C# 8), usado quando os implementadores não o definem; permite evoluir uma interface publicada sem quebrar as classes existentes.
Onde usar
Aparece quando uma biblioteca precisa adicionar um membro a uma interface já distribuída. O método só é visível pela interface, e não pela classe que a implementa.
Em código
ILog l = new Simples();
l.Info("oi"); // usa o padrão
interface ILog {
void Info(string m) => Console.WriteLine(m);
}
class Simples : ILog { }Exemplos
We added a default interface method to avoid a breaking change.
Adicionamos um default interface method para evitar uma breaking change.
You have to cast to the interface to call the default method.
Você precisa converter para a interface para chamar o método padrão.
Cuidado
Não substitui classe abstrata: não há estado de instância nem construtores, e chamar o método exige tratar o objeto como a interface.
Sinônimos
método de interface padrão