zoukankan      html  css  js  c++  java
  • .net 通过反射实现两个相同结构实体类的转换

     1         public static T2 CopyToModel<T1, T2>(T1 source)
     2         {
     3             T2 model = default(T2);
     4             PropertyInfo[] pi = typeof(T2).GetProperties();
     5             PropertyInfo[] pi1 = typeof(T1).GetProperties();
     6             model = Activator.CreateInstance<T2>();
     7             for (int i = 0; i < pi.Length; i++)
     8             {
     9                 pi[i].SetValue(model, pi1[i].GetValue(source, null), null);
    10             }
    11             return model;
    12         }
    13 
    14         public static List<T2> CopyToList<T1, T2>(List<T1> source)
    15         {
    16             List<T2> t2List = new List<T2>();
    17             T2 model = default(T2);
    18             PropertyInfo[] pi = typeof(T2).GetProperties();
    19             PropertyInfo[] pi1 = typeof(T1).GetProperties();
    20             foreach (T1 t1Model in source)
    21             {
    22                 model = Activator.CreateInstance<T2>();
    23                 for (int i = 0; i < pi.Length; i++)
    24                 {
    25                     pi[i].SetValue(model, pi1[i].GetValue(t1Model, null), null);
    26                 }
    27                 t2List.Add(model);
    28             }
    29             return t2List;
    30         }
  • 相关阅读:
    maven常用插件
    Java反编译工具:Java Decompiler
    好看的电影
    我说
    Fisher准则一维聚类
    Java获取函数参数名称
    推荐几个字体生成网站
    Python中的两种路径
    轻量级数据库简介
    Solr Wiki文档
  • 原文地址:https://www.cnblogs.com/kliine/p/10978776.html
Copyright © 2011-2022 走看看