Перегрузить индексатор, чтобы иметь класс foreach'able

Я пытался сделать что-то вроде этого, но это не сработало:

    class Garage
    {
        private List<Car> cars = new List<Car>();

        public Car this[int i]
        {
            get { return cars[i]; }
        }
         //...
    }

       Garage g =  new Garage();
       //get CS1579 - no GetEnumerator definition
       foreach (Car c in g)
       {
           //...
       }

Поскольку MSDN говорит, что индексаторы могут быть перегружены, я решил спросить здесь экспертов. Как перегрузить индексаторы для взаимодействия с циклом foreach ?

10
задан nan 22 September 2010 в 12:24
поделиться