3
respostas

[Bug] Erro System.NullReferenceException

Na implementação do método Envia, nas classes MensagemAdministrativa e MensagemCliente disparou o seguinte erro: Print com o trecho do código do método Envia e a exceção disparada de System.NullReferenceException

3 respostas

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.