public class People        //类名
{
private static string name; //字段 private string sex;//字段 public string Sex //属性
{
get { return sex; }
set { sex = value; }
} public static string Name //属性
{
get { return People.name; }
set { People.name = value; }
}
}
    class Program
{
static void Main(string[] args)
{
DataTable dt = new DataTable("dt");
GetTableByClass<People>(ref dt);
Console.ReadKey();
} /// <summary>
/// 反射类属性添加到DataTable
/// </summary>
/// <typeparam name="T">泛型类</typeparam>
public static void GetTableByClass<T>(ref DataTable dt)
{
Type t = typeof(T);
MemberInfo[] members = t.GetMembers();
List<string> ls = new List<string>();
foreach (MemberInfo member in members)
{
if (member.MemberType == MemberTypes.Property)
{
ls.Add(member.Name);
}
}
AddArryFieldToTable(ref dt, ls);
}
/// <summary>
/// 添加数组字段到DataTable
/// </summary>
public static void AddArryFieldToTable(ref DataTable dt, List<string> fieldNames)
{
foreach (string fieldName in fieldNames)
{
AddFieldToTable(ref dt, fieldName);
}
}
/// <summary>
/// 添加字段到DataTable
/// </summary>
public static void AddFieldToTable(ref DataTable dt, string fieldName)
{
DataColumn c = new DataColumn();
c.DataType = System.Type.GetType("System.String");
c.ColumnName = fieldName;
dt.Columns.Add(c);
}
}

反射类属性生成DataTable的更多相关文章

  1. java 编程基础:注解(Annotation Processing Tool)注解处理器 利用注解解读类属性生成XML文件

    APT的介绍: APT(Annotation Processing Tool)是一种注解处理工具,它对源代码文件进行检测,并找出源文件所包含的注解信息,然后针对注解信息进行额外的处理. 使用APT工具 ...

  2. Android利用反射机制为实体类属性赋值

    在做android项目时,有时会遇到从网络上获取json类型数据,赋值给实体类,实体类属性少可以一个一个的赋值,如果实体类有很多属性,赋值可能就要耗很长的功夫了,幸好Java给我们提供了反射机制.下面 ...

  3. java 通过反射获取类属性结构,类方法,类父类及其泛型,类,接口和包

    首先自定义三个类 package reflection1; public interface MtInterface { void info(); } package reflection1; imp ...

  4. 反射实体自动生成EasyUi DataGrid模板 第二版--附项目源码

    之前写过一篇文章,地址 http://www.cnblogs.com/Bond/p/3469798.html   大概说了下怎么通过反射来自动生成对应EasyUi datagrid的模板,然后贴了很多 ...

  5. 反射实体自动生成EasyUi DataGrid模板

    用EasyUi Datagrid展示数据的时候总是要一下这样一段代码 <table id="dt" class="easyui-datagrid"> ...

  6. C#监控类属性的更改(大花猫动了哪些小玩具)

    C#监控类属性的更改(大花猫动了哪些小玩具) 实体类创建后在方法中对哪些属性赋值了,传递到底层方法时在底层如何得知哪些属性被赋值过.如何监控属性的更改,请看脑洞大开之<大花猫动了哪些小玩具> ...

  7. PHP的反射类ReflectionClass、ReflectionMethod使用实例

    PHP5 具有完整的反射API,添加对类.接口.函数.方法和扩展进行反向工程的能力. 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类.方法.属性.参数等的详细信息,包括 ...

  8. Swift 3.0 令人兴奋,但Objective-C也有小改进--Objective-C的类属性

    由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.或许你会觉得苹果提及Objective-C 很可能是为了提高和Swift互操作性(译者注:互操作性主 ...

  9. C#语法糖之 ReflectionSugar 通用反射类

    用法很简单: ReflectionSugar rs = new ReflectionSugar(100);//缓存100秒 ,可以不填默认不缓存 rs.有嘛点嘛   性能测试: 性能测试类源码: ht ...

随机推荐

  1. Alpha版本——Postmortem会议

    No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 设想和目标 1.我们的软件要解决什么 ...

  2. Eclipse 配置Maven

    Eclipse 配置Maven 下载Maven 首先在官网下载Maven:http://maven.apache.org/download.cgi 下载后将其解压到相应的位置 配置Maven环境变量 ...

  3. linux gcc头文件搜索路径

    #include <>: 直接到系统指定的某些目录中去找某些头文件.#include "": 先到源文件所在文件夹去找,然后再到系统指定的某些目录中去找某些头文件 1. ...

  4. linux DMZ host 允许虚拟机以Host-only的方式上网

    linux DMZ host 允许虚拟机以Host-only的方式上网. host ip 192.168.0.17 vboxnet0 ip 192.168.56.1 1.首先打开linux的转发功能: ...

  5. nmap十条常用命令行格式

    1) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或主机名,或域名,或子网 - ...

  6. 解决activity加上Theme.Translucent.NoTitleBar 页面跳转显示桌面

    自定义style 继承Theme.Translucent.NoTitleBar       <style name="My.Translucent" parent=" ...

  7. 记一个PowerShell的方法调用 --ResolveWindowsPrincipal

    没时间系统的学习PowerShell, 只能现学现用. 这段函数调用花了我半个多小时才搞定. 呵呵. 您别笑我, 呵呵. 在这里个例子里, 包括了PowerShell里如下的一些要点: 静态函数的调用 ...

  8. java学习第10天

    今天,下载了eclipse,终于不用在notepad里面敲了..好高兴=-=.下载安装eclipse就不用说了,去oracle官网下就好了,提醒一下,在所有路径中都不要有中文的出现..很能会有很多奇怪 ...

  9. 获取ServletContext

    ServletConfig       config.getServletContext(): GenericServlet      this.getServletContext(); HttpSe ...

  10. css兼容各个浏览器的三角形图标

    css兼容各个浏览器的三角形图标 在当前流行的的网站上,我们经常会看到一些小三角形的下拉提示(微博顶部的下拉菜单),简单的方式可以使用一张图片代替,但是随着前端技术的发展,以及开发者对于前端性能的“吹 ...