繁体   English   中英

Type.GetProperties方法

[英]Type.GetProperties Method

我有一个这样的课:

class ItemList
{
    Int64 Count { get; set; }
}

当我写这个:

ItemList list = new ItemList ( );

Type type = list.GetType ( );
PropertyInfo [ ] props = type.GetProperties ( );

我得到一个空数组的道具。

为什么? 是因为GetProperties不包含自动属性吗?

问题是GetProperties默认只返回Public属性。 在C#中,默认情况下成员不公开(我相信它们是内部的)。 试试这个

var props = type.GetProperties(BindingFlags.Instance | BindingFlags.NonPublic);

BindingFlags枚举相当灵活。 上面的组合将返回该类型上的所有非公共实例属性。 您可能想要的是所有实例属性,无论可访问性如何。 在这种情况下,请尝试以下方法

var flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
var props = type.GetProperties(flags);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM