O DataGridView, por exemplo, permite fazer isso:
DataGridView dgv = ...;
DataGridViewCell cell = dgv[1,5];
mas, durante toda a minha vida, não consigo encontrar a documentação no operador de índice / colchete. Como eles chamam? Onde é implementado? Ele pode jogar? Como posso fazer a mesma coisa nas minhas próprias aulas?
ETA: Obrigado por todas as respostas rápidas. Resumidamente: a documentação relevante está na propriedade "Item"; a maneira de sobrecarregar é declarar uma propriedade como public object this[int x, int y]{ get{...}; set{...} }
; o indexador para DataGridView não lança, pelo menos de acordo com a documentação. Ele não menciona o que acontece se você fornecer coordenadas inválidas.
ETA Novamente: OK, mesmo que a documentação não faça menção a isso (Microsoft impertinente!), Acontece que o indexador do DataGridView lançará de fato uma ArgumentOutOfRangeException se você fornecer coordenadas inválidas. Aviso justo.