2009-05-08 22 views
36

Tengo una instancia de System.Type, para la cual "IsArray" devuelve verdadero.¿Cómo uso la reflexión para determinar el tipo anidado (tipo de elemento) de una matriz?

¿Cómo puedo determinar el "tipo anidado" del tipo de matriz?

es decir

Type GetArrayType(Type t) 
{ 
    if(t.IsArray) 
    { 
     // What to put here? 
    } 
    throw new Exception("Type is not an array"); 
} 
Assert.That(GetArrayType(typeof(string[])), Iz.EqualTo(typeof(string)); 
Assert.That(GetArrayType(typeof(Foo[])), Iz.EqualTo(typeof(Foo)); 

Respuesta

Cuestiones relacionadas