我想获取特定类型对象的属性列表,我已经制作了这个静态方法来完成这项工作。
例如:A 类有 3 个布尔属性,调用 GetPropertiesList<bool>(aInstance); 将返回一个包含所有 bool 返回属性的列表。
可以吗,还是我在这里重新发明轮子?
public static List<T> GetPropertiesList<T>(object obj)
{
var propList = new List<T>();
PropertyInfo[] properties = obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
//search
foreach (PropertyInfo prop in properties)
{
if (prop.PropertyType != typeof(T)) { continue; }
else
{
//Add to list
var foundProp = (T)prop.GetValue(obj, null);
propList.Add(foundProp);
}
}
return propList;
}