Winforms Get/Set medzi triedami spôsobuje chyba - Odkaz na Objekt Chyba

0

Otázka

Problémy vyriešiť tento jeden. Môže byť len vyhorel tbh, čakal na tento hodín. Som nový Tried v C# a to je kope kecy ma snaží preniesť dáta medzi triedami. Viem, že existujú kroky, ktoré som chýba, ale microsoft dokumenty, nie je veľmi užitočné na moju otázku, tak tu ide.

Snaží prejsť hodnôt zo raz triedy do druhej. Kód chyby som stále je CS0120

Toto je formát, čo som pomocou v rámci prvej triedy

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 = " + ";
        }
}

a kódu vo vnútri tej druhej triedy, ktorý sa snažím odoslať údaje vyzerá takto

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

Aj keď sa niekto chce vyplniť mi o tom, ako odoslať odpoveď, sa späť do prvej triedy, ktorá by tiež mohla byť veľká pomoc.

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

Najlepšiu odpoveď

2

Môžete vytvoriť stupňa z triedy.

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

Táto premenná s názvom MathFirstClass a to je typu MathFirstClass? Bolo by menej mätúce pre triede a variabilným mať rôzne mená? (Vaše upraviť staral sa o to. Ďakujem.)
jason44107

Takže ak mám aj iné prepínače, napríklad rad_Sub a rad_Mult budem musieť pridať riadok pred každou ak() vyhlásenie, alebo len raz na vrchole?
KyleC

@ jason44107 môžete použiť názov triedy pre pomenovanie, ale prvý list by mal začať s malými písmenami. Môžete vyhľadávať v Google pomenovania premenných v C #
Meysam Asadi

@KyleC Použiť, ak (){} else if (){} štruktúra
Meysam Asadi

@MeysamAsadi ty
KyleC

V iných jazykoch

Táto stránka je v iných jazykoch

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