• 实体类相同属性间赋值与如何判断实体类中是否所有的字段都为null


    1,实体类相同属性间赋值
    /// <summary>
            /// 将实体2的值动态赋值给实体1(名称一样的属性进行赋值)
            /// </summary>
            /// <param name="model1">实体1</param>
            /// <param name="model2">实体2</param>
            /// <returns>赋值后的model1</returns>
            protected static T1 BindModelValue<T1, T2>(T1 model1, T2 model2) where T1 : class where T2 : class
            {
                if (model2 != null)
                {
                    Type t1 = model1.GetType();
                    Type t2 = model2.GetType();
                    PropertyInfo[] property2 = t2.GetProperties();
                    //排除主键
                    List<string> exclude = new List<string>() { "Id" };
                    foreach (PropertyInfo p in property2)
                    {
                        if (exclude.Contains(p.Name)) { continue; }
                        t1.GetProperty(p.Name)?.SetValue(model1, p.GetValue(model2, null));
                    }
                    return model1;
                }
                return null;
            }
    View Code
    2、判断实体类中是否所有的字段都为null
     public static Boolean IsPropNull(Object obj)
            {
                Type t = obj.GetType();
                PropertyInfo[] props = t.GetProperties();
                foreach (var item in props)
                {
                    //排除主键id
                    if (item.Name == "Id") { continue; }
                    //一旦有不为null的值,就返回true
                    if (item.GetValue(obj) != null)
                    {
                        return true;
                    }
                }
                return false;
            }
    View Code
  • 相关阅读:
    C#委托 delegate
    认识反射
    【译】修改大XML文件的有效方法
    学习javascript并解读JQuery
    ASP.Net用户验证的实现
    渴望
    C++中常见的一些小问题总结(一)
    struts2:关于EL能够获得action的属性
    排序算法总结
    WebService开发实例
  • 原文地址:https://www.cnblogs.com/wsl2011/p/11098229.html
Copyright © 2020-2023  润新知