首页 > 解决方案 > 访问表单类中的静态属性 - C#

问题描述

我正在尝试一项学习 c# 的练习,但一直卡在某个点上。需要帮助来理解这个逻辑。

我在这堂课上有我的逻辑:

class Class1
{
        private readonly string EmployeeName;
        private readonly decimal HoursWorked, PayRate, NetPay;

        public int TotalPaySlips { get; private set; }
        public decimal TotalGrossPay { get; private set; }
        public decimal TotalNetPay { get; private set; }

        public Class1(string employeeName, decimal hoursWorked, decimal payRate)
        {
            EmployeeName = employeeName;
            HoursWorked = hoursWorked;
            PayRate = payRate;
            NetPay = CalculateNetPay();
        }

        private decimal CalculateNetPay()
        {
            decimal grossPay = HoursWorked * PayRate;
            decimal federalTax = grossPay * 0.1075m;
            decimal stateTax = grossPay * 0.0463m;
            decimal socialSecTax = grossPay * 0.062m;
            decimal medicareTax = grossPay * 0.0145m;

            decimal netPay = grossPay - federalTax - stateTax - socialSecTax - medicareTax;
            TotalGrossPay+= grossPay;
            TotalNetPay += netPay;
            TotalPaySlips++;

            return netPay;
        }
}

在我的表单类上有两个按钮:

一个按钮是在标签上显示 Total Net Pay,另一个按钮是显示 Total PaySlips 和 Total Gross Pay。

对于总净工资,我可以显示它:

private void button1_Click(object sender, EventArgs e)
{
    Class1 aObj = new Class1(textBox1.Text, numericUpDown1.Value, numericUpDown2.Value);

    label1.Text = aObj.TotalNetPay.ToString();
}

但我被困在第二部分。我为其他两个静态属性(Total Gross Pay 和 Total no Of Slips)有两个标签,但我不知道如何在 Form 类中使用这些属性。

如果我使用

private void button2_Click(object sender, EventArgs e)
{
    Class1 aObj = new Class1(textBox1.Text, numericUpDown1.Value, numericUpDown2.Value);
    label2.Text = aObj.TotalPaySlips.ToString();
    label3.Text = aObj.TotalGrossPay.ToString();
}

,它没有给我正确的答案。

有人能帮我吗。

标签: c#

解决方案


推荐阅读