zoukankan      html  css  js  c++  java
  • 反射例子

     /// <summary>
            /// 把datatable数据转化为实体
            /// </summary>
            /// <param name="targetDataTable"></param>
            /// <param name="materialInfomationModel"></param>
            /// <param name="j"></param>
            public void DateToModel(DataTable targetDataTable, ref MaterialInfomationModel materialInfomationModel, int j)
            {
                for (int k = 0; k < targetDataTable.Columns.Count; k++)
                {
                    Type type1 = materialInfomationModel.GetType(); //反射获取当前实体的所有类别
                    foreach (PropertyInfo propertyInfo in type1.GetProperties())//反射获取 当前实体类的所有属性
                    {
                        string name = propertyInfo.Name;//得到属性的名称
                        object value1 = propertyInfo.GetValue(materialInfomationModel, null); //得到属性的值
                        if (targetDataTable.Columns[k].ColumnName == name)//如果 数据源的表的列名称=反射获取得到的属性名称
                        {
                            value1 = targetDataTable.Rows[j][k];//将 数据源的表的列名对应的值 赋值给实体属性
                            if (value1 != DBNull.Value)//如果 数据源的表 对应的列的 值!=属性的值
                            {
                                propertyInfo.SetValue(materialInfomationModel, value1, null);//将新的值 通过反射来设置给实体
                            }
                            continue;
                        }
                    }
                }
            }

     反射要映入命名空间:

       using System.Reflection;

    //获取当前实体的所有类别
    Type t = taskEN.GetType();
    //获取属性列表
    System.Reflection.PropertyInfo[] ps = t.GetProperties();
    foreach (System.Reflection.PropertyInfo p in ps)
    {
        //分别输入 属性名称及值
        str.AppendFormat("{0}: {1}<br/>", p.Name, p.GetValue(taskEN, null));
    }
  • 相关阅读:
    移动端浏览器有哪些,内核分别是什么
    html5定位获取当前位置并在百度地图上显示
    HTML5实现获取地理位置信息并定位功能
    使用VUE开发
    Node 操作MySql数据库
    移动端布局必须注意的问题3
    移动端布局必须注意的问题2
    移动端布局必须注意的问题
    rem和em的用法
    关于圣杯、双飞翼布局
  • 原文地址:https://www.cnblogs.com/dlf-myDream/p/4661331.html
Copyright © 2011-2022 走看看