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];