Si crea in questo modo

codice:
    public class Dummy
    {
        // ...
        public Casella this[short x, short y]
        {
            get
            {
                return c[x, y];
            }
            set
            {
                c[x, y] = value;
            }
        }
    }
In sostanza, si tratta della proprietà indicizzata che ti consente di scrivere, ad esempio, questo codice suppondendo che objDummy sia un'istanza della classe Dummy sopra riportata:

codice:
  objDummy[x, y] = someValue;
Per creare delle proprietà indicizzate in C#, puoi creare delle classi che fungano da "indicizzatori", lavorando come indicato sopra, e fare in modo che le singole proprietà da indicizzare restituiscano un'istanza della classe per l'indicizzazione.

E' più difficile da spiegare che da fare...

Ciao!