zoukankan      html  css  js  c++  java
  • Model to Model

    C#

      /// <summary>
            /// Model to Model
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <typeparam name="Tn">新的类</typeparam>
            /// <param name="objmodel">T类的参数值</param>
            /// <param name="nobjModel">Tn类一个空的实例化</param>
            /// <returns></returns>
            public static Tn ModelToModel<T, Tn>(T objmodel, Tn nobjModel)
            {
                Tn Nobjmodel = nobjModel;
                //被继承的类
                Type modelType = typeof(T);
                Type newModel = typeof(Tn);//继承后的新类
                PropertyInfo[] newpropertys = modelType.GetProperties();//列举出新的类中信息
                //循环新类的属性
                foreach (PropertyInfo pi in newpropertys)
                {
                    string ParaName = pi.Name;//参数名称
                    string ParamType = pi.PropertyType.Name;//字段类型 int/DateTime/string 等等
                    object vaule = modelType.GetProperty(ParaName).GetValue(objmodel, null);//从被继承的类中根据相同字段名称读取类的值
                    if (vaule != null) {
                        var property = newModel.GetProperty(ParaName);
                        if(property!=null)
                            property.SetValue(Nobjmodel, vaule, null);//给新版本的类参数赋值
                    }
                }
                return Nobjmodel;
            }

    欢迎转载,转载请注明出处:http://www.cnblogs.com/Tonyyang/

  • 相关阅读:
    自定义Web框架
    Python四种实现单例模式的方法
    popup的简单应用举例
    前端框架之BootStrap的简单介绍
    前端之JQuery:JQuery扩展和事件
    前端之JQuery:JQuery文档操作
    前端之JQuery:JQuery属性操作
    前端之JQuery:JQuery基本语法
    MinerDB.java 数据库工具类
    MinerConstanits.java 常量类
  • 原文地址:https://www.cnblogs.com/Tonyyang/p/15188505.html
Copyright © 2011-2022 走看看