Похоже, что этот метод вызывается во время десереализации объекта, непосредественно перед заполнением всех полей объекта (восстановлением состояния объекта)…
Я бы дополнил 5-ый ответ.
Отсутствие конструктора объясняется быстрым выделением памяти для больших массивов.
Например
Point[] points = new Point[1000000];
Выделение происходит одним блоком и заполнение его нулями.
Если бы вызывался конструктор, то его бы пришлось вызывать для каждого объекта, что сильно бы увеличило время выполнения.
Ответы на «Вопросы по .Net»