atrizes @ .Net com limite inferior> 0

Embora talvez seja uma coisa bizarra a ser feita, eu preciso criar uma matriz em .Net com um limite inferior> 0. Isso no início parece possível, usando:

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

Produz os resultados desejados (uma matriz de objetos com um limite inferior definido como 9). No entanto, a instância da matriz criada não pode mais ser passada para outros métodos que esperamObject[] me dando um erro dizendo que:

System.Object[*] não pode ser convertido em umSystem.Object[]. Qual é essa diferença nos tipos de matriz e como posso superar isso?

Edit: código de teste =

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

Que falha com: "Não foi possível converter o objeto do tipo 'System.Object [*]' para o tipo 'System.Object []'."

Gostaria também de observar que essa abordagemFA trabalhe ao usar várias dimensões:

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

Que funciona bem.

questionAnswers(4)

yourAnswerToTheQuestion