簡體   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