我得到了某个对象的属性
var properties = typeof(T).GetProperties()
.Select(x => x.Name)
.ToList()
如何获取属性的名称,哪些值不是null
?
我怎么能得到那些?
答案 0 :(得分:7)
尝试使用C#7的代码:
public static void GetProps<T>(T obj)
{
var result = typeof(T).GetProperties()
.Select(x => new { property = x.Name, value = x.GetValue(obj) })
.Where(x => x.value != null)
.ToList();
}
或者您可以为较旧的C#版本创建Tuple
:
public static void GetProps<T>(T obj)
{
var result = typeof(T).GetProperties()
.Select(x => Tuple.Create(x.Name, x.GetValue(obj)))
.Where(x => x.Item2 != null)
.ToList();
}