如何获取数组属性的类型?

时间:2009-11-23 15:09:25

标签: .net reflection

我有这样的事情:

public class Foo
{
    public Bar[] Bars{get; set;}
}


public class Bar
{
    public string Name{ get; set; }
}

我开始反思:

PropertyInfo propertyInfo = typeof(Foo).GetProperty("Bars");
到目前为止一切顺利。我想更深入地反思:

Type type = _propertyInfo .PropertyType; // this gives me that the type is Bar[]

typeBar[],但无法反映type查找属性Name。 有没有办法找出没有数组的trype?或者另一种找到单一类型Bar的方法?

2 个答案:

答案 0 :(得分:9)

if (type.HasElementType)
    Console.WriteLine(type.GetElementType().Name);

我编写了HasElementType,因为我猜你也需要弄清楚你的元素是否是一个数组。

答案 1 :(得分:2)

type.GetElementType().Name