Рассмотрим эти свойства,
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
Я хочу сделать это таким образом, чтобы позже я мог получить доступ текущие значения свойств с использованием индекса , примерно так,
object currentTemperature = PropertyContainer[0];
object currentHumidity = PropertyContainer[1];
object currentIsRaining = PropertyContainer[2];
Но, очевидно, это не сработает, поскольку PropertyContainer [0]
вернет старое значение - значение, которое Температура
имело во время добавления температуры
в контейнер (см. Line1
выше).
Есть ли решение этой проблемы? Обычно я хочу получить доступ к текущим значениям свойств равномерно ; единственное, что можно изменить, - это index. Однако индекс также может быть строковым.
PS: Я не хочу использовать Reflection!