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