Share via


A way to do named indexers.

In this entry on Ladybug, a customer asked for named indexers in C#.

Here’s one way to get it:

      class Car

      {

            object[] wheels;

            public WheelsHelper Wheels { get { return new WheelsHelper(this); } }

            public class WheelsHelper

            {

                  readonly Car _outer;

                  public WheelsHelper(Car mc) { this._outer = mc; }

                  public object this[int index] { get { return this._outer.wheels[index]; } }

            }

      }

You use it in the obvious way:

            Car car = ...;

            car.Wheels[0];