我们有一个场景,如果源和目标之间存在实体,我们应该合并目标中的数据,即从目标列为空的基础列中复制值。
我们正在使用 WCF 服务调用,并且我们有实体对象。
如果我有一个实体可以说 Staff
,员工包含名称等的基本属性,我们有 StaffAddress
、 StaffEmail
和 StaffPhone
的列表。
所以我只是想知道有没有办法使用 LINQ 或任何其他机制 - 我可以找到 Staff
对象上的属性列表,它们是 null 还是空白?
一种基本的方法当然是手动检查一个空白的属性?
最佳答案
这是使用 LINQ 的一种快速而肮脏的方法
public static IEnumerable<string> FindBlankFields(Staff staff)
{
return staff.GetType()
.GetProperties(BindingFlags.Instance | BindingFlags.Public |
BindingFlags.NonPublic)
.Where(p => p.CanRead)
.Select(p => new { Property = p, Value = p.GetValue(staff, null) })
.Where(a => a.Value == null || String.IsNullOrEmpty(a.Value.ToString()))
.Select(a => a.Property.Name);
}
关于c# - 查找对象中的空白字段 - C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/522468/