考虑这些属性,
double _temperature;
public double Temperature
{
get { return _temperature; }
set { _temperature = value; }
}
double _humidity;
public double Humidity
{
get { return _humidity; }
set { _humidity = value; }
}
bool _isRaining;
public bool IsRaining
{
get { return _isRaining; }
set { _isRaining = value; }
}
现在我想制作一个这样的属性列表/集合/容器,
PropertyContainer.Add(Temperature); //Line1
PropertyContainer.Add(Humidity); //Line2
PropertyContainer.Add(IsRaining); //Line3
我想这样做,以便稍后我可以使用index访问属性的当前值,就像这样,
object currentTemperature = PropertyContainer[0];
object currentHumidity = PropertyContainer[1];
object currentIsRaining = PropertyContainer[2];
但显然,这是行不通的,因为PropertyContainer[0]
将返回旧值 -Temperature
添加Temperature
到容器时的值(见Line1
上文)。
这个问题有什么解决办法吗?基本上我想统一访问属性的当前值;唯一可以改变的是索引。然而,索引也可以是字符串。
PS:我不想使用反射!