首页 > 解决方案 > 从方法访问类项

问题描述

这似乎是一个很容易找到答案的问题,但我找不到类似的东西。我有一个名为 Earnings.cs 的类文件,它只包含两个项目(lastYear、thisYear)。

我的代码如下

public void parseEarnData(List<String> earningData)
{
    ... //gets the information

    classAdd(lq1, lq2, lq3, lq4, tq1, tq2, tq3, tq4);
}

public void classAdd(string lqO, string lqT, string lqTh, string lqF, string tqO, string tqT, string tqTh, string tqF)
{
    Earnings lastYear = new Earnings(Convert.ToDecimal(lqO), Convert.ToDecimal(lqT), Convert.ToDecimal(lqTh), Convert.ToDecimal(lqF));
    Earnings thisYear = new Earnings(Convert.ToDecimal(tqO), Convert.ToDecimal(tqT), Convert.ToDecimal(tqTh), Convert.ToDecimal(tqF));
}

然后在一个实际进行数学运算的方法中,我想检索 lastYear 和 thisYear。类中的所有内容都是公开的,但 lastYear 和 thisYear 在计算方法的上下文中不存在。所以我的问题是如何访问它们?

如果您认为这很重要,请上课

public class Earnings
{
    public decimal q1 { get; set; }
    public decimal q2{ get; set; }
    public decimal q3{ get; set; }
    public decimal q4{ get; set; }

    public Earnings(decimal q1, decimal q2, decimal q3, decimal q4)
    {
        this.q1 = q1;
        this.q2 = q2;
        this.q3 = q3;
        this.q4 = q4;
    }
}

编辑:变量名称仅代表上一季度、二等和本季度一、二等。对于奇怪的缩写感到抱歉。

编辑2:所有代码都写在我的Form类(Form1.cs)中,对数据进行计算的方法也将位于同一个类中。我只想能够从我的主代码中的 Earnings 类中访问数据。

标签: c#

解决方案


所有代码都写在我的 Form 的类 ( Form1.cs) 中,对数据进行计算的方法也将位于同一个类中。

然后你可能也想制作你的表格lastYearthisYear一部分:

public partial class Form1 : Form
{
    // declare Earnings members
    Earnings lastYear;
    Earnings thisYear;

    // ...

    public void classAdd(string lqO, string lqT, string lqTh, string lqF, string tqO, string tqT, string tqTh, string tqF)
    {
        // assign values to declared instance members
        lastYear = new Earnings(Convert.ToDecimal(lqO), Convert.ToDecimal(lqT), Convert.ToDecimal(lqTh), Convert.ToDecimal(lqF));
        thisYear = new Earnings(Convert.ToDecimal(tqO), Convert.ToDecimal(tqT), Convert.ToDecimal(tqTh), Convert.ToDecimal(tqF));
    }

    public void doActualWork()
    {
        // now you can access lastYear and thisYear in this scope too
    }
}

哪个源代码文件包含定义并不重要Earnings——它只是我们可以在其他地方使用的蓝图 :-)


推荐阅读