[英]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.