Winforms Get/Set entre les classes à l'origine erreur - Erreur de Référence de l'Objet

0

La question

Ayant des difficultés à résoudre celui-ci. Peut-être brûlé tbh, ive été à ce heures. Je suis nouvelle dans les Classes en C# et c'est à coups de pied la merde hors de moi en essayant de faire passer des données entre les classes. Je sais il y a des étapes qui me manque, mais microsoft docs n'est pas très utile à ma question donc, ici, va.

Tentez de passer les valeurs d'une classe à l'autre. Le code d'erreur que j'obtiens est CS0120

C'est le format de ce que je suis en utilisant à l'intérieur de la première 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 = " + ";
        }
}

et le code à l'intérieur de l'autre classe que je suis en train d'envoyer les données ressemble à ceci

    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;
        }
    }

Aussi si quelqu'un veut me renseigner sur la façon d'envoyer la réponse à la première classe, qui pourraient également être d'une grande aide.

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

La meilleure réponse

2

Vous créez une instance de votre 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

La variable est nommée MathFirstClass et il est de type MathFirstClass? Serait-il moins à confusion pour la classe et la variable d'avoir des noms différents? (Votre edition a pris soin de cela. Merci.)
jason44107

Donc, si j'ai d'autres boutons radio, par exemple rad_Sub et rad_Mult ai-je besoin d'ajouter que la ligne avant chaque instruction if (), ou juste une fois en haut?
KyleC

@ jason44107 Vous pouvez utiliser le nom de la classe pour les nommer, mais la première lettre doit commencer avec des lettres minuscules. Vous pouvez effectuer une recherche dans Google pour nommer les variables en C #
Meysam Asadi

@KyleC Utiliser le if (){} else if (){} de la structure
Meysam Asadi

@MeysamAsadi ty
KyleC

Dans d'autres langues

Cette page est dans d'autres langues

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