当前位置:  开发笔记 > 编程语言 > 正文

在对象中查找空白字段 - C#

如何解决《在对象中查找空白字段-C#》经验,为你挑选了1个好方法。

我们有一个场景,如果在源和目标之间存在实体,我们应该合并目标中的数据,即从目标列为空的基础列复制值.

我们正在使用WCF servcie调用,我们有实体对象.

如果我有一个实体可以说Staff,员工conatins的姓名等基本属性,我们有一个列表StaffAddress,StaffEmailStaffPhone.

所以我只是想知道是否有使用LINQ或任何其他机制的方法 - 我可以找到Staff对象的属性列表为null或空白?

一个基本的方法当然是手动检查一个属性为空白?



1> casperOne..:

您可以通过反射获取所有属性,然后在每个PropertyInfo实例上调用GetValue.如果为null,则返回PropertyInfo:

static IEnumerable GetNullProperties(object obj)
{
  // Get the properties and return only the ones where GetValue
  // does not return null.
  return 
    from pi in obj.GetType().GetProperties(
      BindingFlags.Instance | BindingFlags.Public)
    where pi.GetValue(obj, null) != null
    select pi;
}

请注意,这将只返回类型的公共属性,而不是非公共属性.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有