Список / Коллекция ссылок на Свойства

Рассмотрим эти свойства,

        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!

6
задан Nawaz 20 December 2010 в 08:55
поделиться