我有这样的事情:
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[]
type
为Bar[]
,但无法反映type
查找属性Name
。
有没有办法找出没有数组的trype?或者另一种找到单一类型Bar的方法?
答案 0 :(得分:9)
if (type.HasElementType)
Console.WriteLine(type.GetElementType().Name);
我编写了HasElementType,因为我猜你也需要弄清楚你的元素是否是一个数组。
答案 1 :(得分:2)
type.GetElementType().Name