DataGridView, например, позволяет вам сделать это:
DataGridView dgv = ...;
DataGridViewCell cell = dgv[1,5];
но я не могу найти документацию по оператору index / квадратные скобки. Как они это называют? Где это реализовано? Это может бросить? Как я могу сделать то же самое в моих собственных классах?
ETA: Спасибо за все быстрые ответы. Вкратце: соответствующая документация находится в собственности "Item"; способ перегрузки заключается в объявлении свойства как public object this[int x, int y]{ get{...}; set{...} }
; индексатор для DataGridView не выбрасывает, по крайней мере, согласно документации. Не упоминается, что произойдет, если вы введете неверные координаты.
ETA Опять же: ОК, хотя в документации об этом ничего не говорится (непослушная Microsoft!), Оказывается, что индексатор для DataGridView фактически выдает исключение ArgumentOutOfRangeException, если вы передадите ему недопустимые координаты. Честное предупреждение.