我有一节课
Fuel1
:
class Fuel1
{
public double Temperaure
{
get { return Temperaure; }
set
{
Temperaure = value;
initialize(Temperaure);
}
}
public double Cp { get; private set; } // J/mol.K
public double H { get; private set; } // J/mol
public Fuel1(double Temperaure)
{
this.Temperaure = Temperaure;
initialize(Temperaure);
}
private double calculate_cp(double te)
{
// calculate Cp
}
private double calculate_h(double te)
{
// calculate H
}
private void initialize(double temperature)
{
H = calculate_h(temperature);
Cp = calculate_cp(temperature);
}
}
类的初始化温度如下:
var fuel = new Fuel1(1000.0);
然后在initialize方法中设置cp和h字段。我想在使用setter更新t的值时自动更新h和cp的值。例如,我将温度设置为1200。
fuel.Temperature = 1200.0;
我希望cp和h会更新。但是,将initialize方法放入setter会导致无限循环。在不陷入无限循环的情况下,我应该怎么做?