2010-01-18 18 views
25

Tengo una matriz inicializada que puede no contener elementos.GetType() en el elemento Array?

llamémosle a,

Calling GetType() en a obviamente devolver un tipo de matriz. ¿Es posible obtener el tipo de elementos que contiene la matriz?

Obviamente a[0].GetType() funcionaría, pero la matriz podría estar vacía y causar una excepción de referencia nula.

Respuesta

43

Bueno, se puede obtener el element type of the array:

Type type = array.GetType().GetElementType(); 

(Eso no es exactamente lo mismo que conseguir los tipos de los elementos de la matriz - una object[] se puede llenar por completo con cuerdas, por ejemplo.)

+1

Advertencia: esto funcionará en un tipo de matriz real, pero no en una matriz a la que se hace referencia como objeto 'Array'. En ese caso, GetElementType devuelve nulo. –

Cuestiones relacionadas