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