Winforms Get/Set entre as classes, fazendo com que o erro - Erro de Referência de Objeto

0

Pergunta

Tendo problemas para solução deste problema. Só poderia ser queimado tbh, ive sido em isso por horas. Eu sou novo para Classes em C# e é chutar o crap fora de mim tentando passar dados entre as classes. Eu sei que existem passos que eu estou ausente, mas a microsoft docs não está sendo muito útil com a minha pergunta então aqui vai.

Tentando passar valores de uma vez a classe para outra. O código de erro, eu estou ficando é CS0120

Este é o formato que eu estou usando na primeira classe

private void btn_Compute_Click(object sender, EventArgs e)
    {
        decimal dL = Validator(box_Left.Text);
        decimal dR = Validator(box_Right.Text);
        decimal Answer = 0;
        string op = "";
        if (rad_Add.Checked == true)
        {
            MathFirstClass.Left = dL;
            MathFirstClass.Right = dR;
            op = " + ";
        }
}

e o código dentro de outra classe que eu estou tentando enviar os dados para este aspecto

    decimal left;
    decimal right;
    decimal Answer;

    public decimal Left
    {
        get { return left; }
        set { left = value; }
    }

    public decimal Right
    {
        get { return right; }
        set { right = value; }
    }

    public decimal Add_Operands
    {
        get
        {
            Answer = Left + Right;
            return Answer;
        }
    }

Também se alguém quer encher-me em como enviar a resposta para a primeira classe, o que também seria uma grande ajuda.

c# get set winforms
2021-11-22 00:07:03
1

Melhor resposta

2

Você cria uma instância de sua classe.

private void btn_Compute_Click(object sender, EventArgs e)
{
        decimal dL = Validator(box_Left.Text);
        decimal dR = Validator(box_Right.Text);
        decimal Answer = 0;
        string op = "";
        
        //****************************************
        MathFirstClass mathFirstClass = new MathFirstClass();
        
        if (rad_Add.Checked == true)
        {
            mathFirstClass.Left = dL;
            mathFirstClass.Right = dR;
            op = " + ";
        }
}
2021-11-22 00:26:38

A variável é chamada MathFirstClass e é do tipo MathFirstClass? Seria menos confuso para a classe e a variável a ter nomes diferentes? (Edição teve o cuidado de esse. Obrigado.)
jason44107

Então, se eu tenho outros botões de rádio, por exemplo rad_Sub e rad_Mult será preciso adicionar essa linha antes de cada instrução if (), ou apenas uma vez no topo?
KyleC

@ jason44107 Você pode usar o nome de classe para a nomeação, mas a primeira letra deve começar com letras minúsculas. Você pode pesquisar no Google para nomes de variáveis em C #
Meysam Asadi

@KyleC Usar o if (){} else if (){} estrutura
Meysam Asadi

@MeysamAsadi ty
KyleC

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................