Interfaces no C# podem ter campos e propriedades ou apenas podem ter métodos?
Interfaces no C# podem ter campos e propriedades ou apenas podem ter métodos?
Olá Rodrigo, como vai?
Na verdade uma interface pode conter apenas assinaturas de eventos, métodos, propriedades e indexadores.
Sobre os campos/atributos, possivelmente se tivermos uma propriedade, teremos que implementá-la na classe que está assinando o contrato.
Irei te mostrar um pequeno exemplo de como seria, só para se ter uma ideia mesmo, veja:
interface IFuncionario
{
string Nome { get; }
string CPF { get; }
}
public class Diretor : IFuncionario
{
private string _nome;
private string _cpf;
public string Nome
{
get { return _nome; }
}
public string CPF
{
get { return _cpf; }
}
}
Espero ter ajudado, qualquer dúvida estou por aqui.
Abraços!