Na implementação do método Envia, nas classes MensagemAdministrativa e MensagemCliente disparou o seguinte erro:
Na implementação do método Envia, nas classes MensagemAdministrativa e MensagemCliente disparou o seguinte erro:
Luana,
Acho que entendi o problema.
Você instanciou a propriedade "Enviador" pela interface "IEnviador"?
Esta é a minha classe:
internal class MensagemCliente : IMensagem
{
private string nome;
public IEnviador Enviador { get; set; }
public MensagemCliente(string nome) => this.nome = nome;
public void Envia() => Enviador.Envia(this);
public string Formata() => String.Format($"Mensagem para o cliente {nome}");
}
[]'s,
Fabio I.
Olá Fábio, Eu instanciei a interface da mesma forma, não sei se é por conta da minha versão do .net que é a 6.0.
Tá ai o meu código pra mesma classe: public class MensagemDoCliente : IMensagem { private string nome; public IEnviador Enviador { get; set; }
public MensagemDoCliente(string nome) => this.nome = nome;
public void Envia()
{
this.Enviador.Envia(this);
}
public string Formata()
{
return string.Format("Enviando a mensagem para o cliente {0}", nome);
}
}
Luana,
Eu também montei tudo no .Net 6.0 sem problemas.
Esse tipo de erro indica que é necessário inicializar a variável.
Se não é o "enviador" ... pode ser que seja o "Enviador" na interface... como está sua interface "IMensagem"? A minha interface está assim:
internal interface IMensagem
{
public IEnviador Enviador { get; set; }
void Envia();
string Formata();
}
==========================================================
NullReferenceException Classe
Comentários
Uma NullReferenceException exceção é gerada quando você tenta acessar um membro em um tipo cujo valor é null. Uma NullReferenceException exceção normalmente reflete o erro do desenvolvedor e é gerada nos seguintes cenários: ...
https://learn.microsoft.com/pt-br/dotnet/api/system.nullreferenceexception?view=net-7.0
==========================================================
[]'s,
Fabio I.