Также: это старая особенность VB6. Я думаю, что мог бы быть атрибут, чтобы помочь поддержать это.

возможно, это странная вещь, которую нужно сделать, мне нужно создать массив в .Net с нижней границей> 0. Сначала это кажется возможным, используя:

Array.CreateInstance(typeof(Object), new int[] {2}, new int[] {9});

Производит желаемые результаты (массив объектов с нижней границей, установленной на 9). Однако созданный экземпляр массива больше нельзя передавать другим ожидающим методам.Object[] давая мне ошибку, говоря, что:

System.Object[*] не может быть брошен вSystem.Object[], В чем разница между типами массивов и как я могу это преодолеть?

Изменить: тестовый код =

Object x = Array.CreateInstance(typeof(Object), new int[] {2}, new int[] {9});
Object[] y = (Object[])x;

Который завершается неудачно с: "Невозможно привести объект типа 'System.Object [*]' к типу" System.Object [] '. "

Я также хотел бы отметить, что этот подходДЕЛАЕТ работать при использовании нескольких измерений:

Object x = Array.CreateInstance(typeof(Object), new int[] {2,2}, new int[] {9,9});
Object[,] y = (Object[,])x;

Который работает отлично.

Ответы на вопрос(1)

Ваш ответ на вопрос