zoukankan      html  css  js  c++  java
  • c#实体转化

      经常会遇到把一个实体转化成另一个实体这样的情况,实体的属性一个一个手写去转化不反对,但不是啥好的方法;可以使用反射写一个通用的实体转化类,针对任何实体转化,不用再去自己手写。

      public static To ConvertObjectByEntity<T, To>(T entity)
            {
                if (entity == null)
                {
                    return default(To);
                }
                Type type = typeof(To);
                To t = CreateInstance<To>(type.Assembly.FullName, type.FullName);
                PropertyInfo[] propertyInfos = typeof(T).GetProperties();
                
    
                foreach (PropertyInfo propertyInfo in type.GetProperties())
                {
                    PropertyInfo tpropertyInfo = propertyInfos.Where(o => o.Name == propertyInfo.Name).FirstOrDefault();
                    if (tpropertyInfo == null)
                    {
                        continue;
                    }
                    object value = GetPropertyValue(entity, tpropertyInfo.Name);
                    if (value == null)
                    {
                        continue;
                    }
                    propertyInfo.SetValue(t, value, null);
    
                }
                return t;
            }
  • 相关阅读:
    MVC三层架构
    JavaScript,你好!(二)
    HTML你好!
    Typora,你好!
    安装mysqlmysql-5.7.24-linux-glibc2.12-x86_64
    sizeof与strlen的区别
    printf格式化输出
    java泛型讲解
    双系统删除Linux系统
    kali破解wifi密码
  • 原文地址:https://www.cnblogs.com/xbblogs/p/5666118.html
Copyright © 2011-2022 走看看