zoukankan      html  css  js  c++  java
  • ASP.Net 反射显示

    //获取泛型T的类型
                        Type type = typeof(T);

                        //循环获取到的数据的行
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            //实例化获取到的类
                            object obj = Activator.CreateInstance(type);

                            //循环获取到的数据的列
                            for (int j = 0; j < dt.Columns.Count; j++)
                            {
                                //获取列的名称
                                PropertyInfo pinfo = type.GetProperty(dt.Columns[j].ColumnName);

                                #region 判断获取到的列的类型
                                //int类型
                                if (dt.Columns[j].DataType == typeof(Int32))
                                {
                                    //判断是否是空值
                                    if (dt.Rows[i][j] != null)
                                    {
                                        pinfo.SetValue(obj, int.Parse(dt.Rows[i][j].ToString(), null));
                                    }
                                    else
                                    {
                                        pinfo.SetValue(obj, 0, null);
                                    }
                                }

                                //float类型
                                if (dt.Columns[j].DataType == typeof(float))
                                {
                                    //判断是否是空值
                                    if (dt.Rows[i][j] != null)
                                    {
                                        pinfo.SetValue(obj, float.Parse(dt.Rows[i][j].ToString(), null));
                                    }
                                    else
                                    {
                                        pinfo.SetValue(obj, 0.0f, null);
                                    }
                                }

                                //datetime类型
                                if (dt.Columns[j].DataType == typeof(DateTime))
                                {
                                    //判断是否是空值
                                    if (dt.Rows[i][j] != null)
                                    {
                                        pinfo.SetValue(obj, DateTime.Parse(dt.Rows[i][j].ToString(), null));
                                    }
                                    else
                                    {
                                        pinfo.SetValue(obj, "", null);
                                    }
                                }

                                //double类型
                                if (dt.Columns[j].DataType == typeof(double))
                                {
                                    //判断是否是空值
                                    if (dt.Rows[i][j] != null)
                                    {
                                        pinfo.SetValue(obj, double.Parse(dt.Rows[i][j].ToString(), null));
                                    }
                                    else
                                    {
                                        pinfo.SetValue(obj, 0.00, null);
                                    }
                                }

                                //string类型
                                if (dt.Columns[j].DataType == typeof(string))
                                {
                                    //判断是否是空值
                                    if (dt.Rows[i][j] != null)
                                    {
                                        pinfo.SetValue(obj, dt.Rows[i][j].ToString(), null);
                                    }
                                    else
                                    {
                                        pinfo.SetValue(obj, "", null);
                                    }
                                }
                                #endregion
                            }

                            list.Add((T)obj);
                        }
                    }
                }
                return list;

  • 相关阅读:
    Hadoop学习之编译eclipse插件
    js堆栈溢出错误
    java——推断日期是否在今天之前
    AlertDialog.Builder中的setMultiChoiceItems中的事件处理
    Qemu之Network Device全虚拟方案二:虚拟网卡的创建
    【Android Tricks 6】ViewPager首页与尾页的滑动动作响应
    JFinal开发web项目出现故障小记
    HDU-4407-Sum(容斥原理)
    自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令
    待字闺中之巧妙排序分析:
  • 原文地址:https://www.cnblogs.com/XJNB/p/13150339.html
Copyright © 2011-2022 走看看