Рассмотрим эти свойства,
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: я не хочу использовать Reflection!