Friday, May 6, 2011

How do I use reflection to determine the nested type of an array?

I have an instance of System.Type, for which "IsArray" returns true.

How can I determine the "nested type" of the array type?

i.e.

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));
From stackoverflow
  • t.GetElementType()
    

    Reference.

    Paul Hollingsworth : Excellent! thanks!
    swilliams : I aim to please :).

0 comments:

Post a Comment