Что делать, если в класс надо передать два массива?

Рейтинг: 2Ответов: 1Опубликовано: 27.06.2011

Я создал UserControl, содержащий PictureBox, для рисования графиков. В этот UserControl мне надо передавать два массива: координаты по X и координаты по Y.

Как с помощью индексатора передать в класс один массив я знаю, а как передать второй массив?

Ответы

▲ 5Принят

В создании нескольких индексаторов (если я правильно понял вопрос) с одинаковой сигнатурой просто нет необходимости. Согласно MSDN:

Чаще всего индексаторы реализуются в типах, главная цель которых — инкапсуляция внутренней коллекции или массива.

Поэтому если, например, необходимо несколько индексаторов для доступа к разным внутренним коллекциям, то это говорит о том, что данный тип не совсем удачен.

Однако, если нужно контролировать состояние некоторых внутренних коллекций, то можно поступить так, как это сделали в WinForms - унаследовать тип коллекции (от Collection(T), ObservableCollection(T), ...) и производить в его методах все проверки, etc.