繁体   English   中英

C#无法将两个数字相乘

[英]C# Unable to multiply two figures together

我试图将一个变量乘以另一个变量,另一个变量的值存储在另一个类中。 在上下文中,我试图将一个月的雇员小时数乘以该雇员的小时工资率。

C#员工班

我在方法“ payHourly”中收到错误

    class HourlyEmployee : Employee
{
    private HourlyRate m_hourlyRate;   //The amount an employee is to be paid per hour


    /// <summary>
    ///     Constructor
    /// </summary>
    /// <param name="p_employeeID"></param>
    /// <param name="p_employeeName"></param>
    /// <param name="p_employeeAge"></param>
    /// <param name="aRate"></param>
    public HourlyEmployee(int p_employeeID, string p_employeeName, int p_employeeAge, HourlyRate aRate)
    {
        m_employeeID = p_employeeID;
        m_employeeName = p_employeeName;
        m_employeeAge = p_employeeAge;

        m_hourlyRate.setEmployee(this);
    }

    public void payHourly(int hoursWorked)
    {
        int wage;
        wage = hoursWorked * m_hourlyRate;

    }
}

每小时班

    class HourlyRate
{
    private decimal m_hourlyRate;
    private HourlyEmployee m_employee;

    public HourlyRate(decimal p_hourlyRate)
    {
        m_hourlyRate = p_hourlyRate;
    }

    public void setEmployee(HourlyEmployee aEmployee)
    {
        m_employee = aEmployee;
    }
}

有人可以解释我在这里缺少什么吗?

wage = hoursWorked * m_hourlyRate; ??

m_hourlyRate是对象实例!

您需要使用:

wage = hoursWorked * m_hourlyRate.m_hourlyRate;

使用对象名称与对象内部的属性相同会造成混淆。 Change private HourlyRate m_hourlyRate为其他名称。

编辑:

另外,更改: private decimal m_hourlyRate; public decimal m_hourlyRate { set; get; } public decimal m_hourlyRate { set; get; } public decimal m_hourlyRate { set; get; }才能访问它。

要么

  class HourlyRate
{
    private decimal m_hourlyRate;
    private HourlyEmployee m_employee;

    public HourlyRate(decimal p_hourlyRate)
    {
        m_hourlyRate = p_hourlyRate;
    }

    public void setEmployee(HourlyEmployee aEmployee)
    {
        m_employee = aEmployee;
    }

   public decimal GetHourlyRate()
   {
      return m_hourlyRate;
   }
}

然后使用:

wage = hoursWorked * m_hourlyRate.GetHourlyRate();

您不能将m_hourlyRate乘以必须使用此工资的整数= m_horulyRate.m_hourlyRate * hoursWorked;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM