Если есть поле и у него тип это массив [ ] каких то типов заранее неизвестных, то через рефлексию создается как раз Array нужного типа, заполняется через методы и присваивается полю. Для этого Array и является базовым. чтобы можно было работать с масивами имея тип как Type.
Array это все масивы [ ] во всем NET
Возмите тип у int[] и посмотрите какой у него базовый класс. Базовым классом будет аккурат Array.
Он не типизирован, поэтому у него нет индексаторов а доступ только через методы, причем всегда с боксингом для валю типов. Т.е. я откопал довольно не странный массив =)
Нет, не дженерик, откройте Array класс, и у него есть методы принимающие T[] в IndexOf и там четко написано, что возвращается -1, а в методах принимающих Array первым параметром, то, что я описал в статье.
3 Манифеста Разработчика:
— Разработчик не может причинить вред Проекту или своим бездействием допустить, чтобы Проекту был причинён вред.
— Разработчик должен подчиняться всем правилам, которые действуют при разработке Проекта, кроме тех случаев, когда эти правила противоречат Первому Манифесту.
— Разработчик должен заботиться о себе в той мере, в которой это не противоречит Первому и Второму Манифесту.
Возможно, для системы это были полностью рабочие объекты. Очень помогало когда дизайнеры заводят огромное количество объектов а отображения и данных для них еще нет.
Однажды столкнувшись с такой проблемой, мы использовали другой подход. Для необходимых типов данных мы завели пустой объект с необходимой информацией. После этого даже визуально можно было понять что объекта нет, или каких либо его свойств.
Array GetArray() { return new int[] { }; }
Возмите тип у int[] и посмотрите какой у него базовый класс. Базовым классом будет аккурат Array.
Он не типизирован, поэтому у него нет индексаторов а доступ только через методы, причем всегда с боксингом для валю типов. Т.е. я откопал довольно не странный массив =)
— Разработчик не может причинить вред Проекту или своим бездействием допустить, чтобы Проекту был причинён вред.
— Разработчик должен подчиняться всем правилам, которые действуют при разработке Проекта, кроме тех случаев, когда эти правила противоречат Первому Манифесту.
— Разработчик должен заботиться о себе в той мере, в которой это не противоречит Первому и Второму Манифесту.