2010-01-18 12 views
25

Ho una matrice inizializzata che potrebbe non contenere elementi.GetType() sull'elemento Array?

consente di chiamare a,

Calling GetType() su a sarà ovviamente restituire un tipo di matrice. È possibile ottenere il tipo di elementi che contiene la matrice?

Ovviamente a[0].GetType() funzionerebbe, ma la matrice potrebbe essere vuota e causare un'eccezione di riferimento null.

risposta

43

Beh, è ​​possibile ottenere il element type of the array:

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

(Questo non è proprio la stessa cosa come ottenere i tipi di elementi nella matrice - un object[] possono essere interamente popolato con le stringhe, per esempio.)

+1

Un avviso: questo funzionerà su un tipo di array effettivo, ma non su un array a cui fa riferimento un oggetto 'Array'. In tal caso, GetElementType restituisce null. –

Problemi correlati