Возникает следующая ошибка:
public Column(int column)
{
this.column = column;
Counter = column;
onColumnCreate += new CreateColumn(Cell.Re_Linked_atColumn);
for (int i = 0; i < Counter; i++)
{
cellArr[i] = new Cell(i);
//Cell_Counter++;
}
}
создается столбец таблицы.
onColumnCreate += new CreateColumn(Cell.Re_Linked_atColumn);
- отвечает за поиск соседей ячеек при создании столбца.
cellArr[i] = new Cell(i); - заполняем массив ячеек - ячейками
Также тут еще есть небольшой финт:
public static Cell[] cellArr = new Cell[Counter];
public static event CreateColumn onColumnCreate;
//public static int Cell_Counter=0;
int column;
public static int Counter;
- сам Counter является static и в
Re_Linked_atColumn
я делаю следующее:
nt c = Column.Counter;
Column.Counter = c; - что бы помнить значение Counter и при создании нового столбца продолжать с того же места.
Вот сам класс Cell экземпляры которого я создаю
public class Cell
{
public static List<bool> west = new List<bool>();
public static List<bool> east = new List<bool>();
public static List<bool> north = new List<bool>();
public static List<bool> south = new List<bool>();
static int RowCount = 0;
static int ColumnCount = 0;
int Cell_Index;
public Cell(int Index)
{
this.Cell_Index = Index;
}
public int index
{
get { return Cell_Index; }
}
но проблема, в том , что уже на перво итерации вот здесь :
for (int i = 0; i < Counter; i++)
{
cellArr[i] = new Cell(i);
//Cell_Counter++;
} - смотрел под отладчиком - смотрел оно один раз заходит в Cell -в конструктор Cell и затем выкидывает из цикла с ошибкой :
System.IndexOutOfRangeException: "Индекс находился вне границ массива."
Вот скрин: