C#中使用反射机制得到类型实例应用Demo

今天项目中有个功能要求得到多个数据类型实例的信息,如果通过大量判断和手工代码,将会是件很痛苦的工作.但是我使用反射得到实例类型,属性

名称,属性值,乃至方法名称这样就能使用很少的代码完成更多的事情.

假定有one,two,three三个不同结构对象需要展示数据,将它们的属性值一项项调用展示这样需要至少做三次,而如果对象属性够多的话,除开累之外,相信也更加容易出错.

其实要做的事情无非就是三步,第一,得知需要展示的对象的类型结构,第二,得到各属性值,第三,展示数据.

但是你有了实例,如何利用微软封装好的方法最优的完成第一二步呢?

现在我将Demo关键代码贴在下面,希望看后能够对大家有所帮助.

namespace UseAssemblyClassExample
{
public class Test1
{
public Test1()
{
id = 0;
name = "hhj";
age = "20";
time = DateTime.Now;
}
public int id { get; set; }
public string name { get; set; }
public string age { get; set; }
public DateTime time { get; set; }
}
}

public void WriteData()

{

 object obj = Assembly.Load("UseAssemblyClassExample").CreateInstance("UseAssemblyClassExample.Test1");
System.Type type = obj.GetType();
PropertyInfo[] propertyies = type.GetProperties();
foreach (PropertyInfo pro in propertyies)
{
  Console.Wirte(pro.Name + " 值: " + pro.GetValue(obj, null) + " 数据类型:" + pro.PropertyType.ToString() + System.Environment.NewLine);
  }

}

 

输出结果

id 值: 0 数据类型:System.Int32
name 值: hhj 数据类型:System.String
age 值: 20 数据类型:System.String
time 值: 2010/5/17 22:34:01 数据类型:System.DateTime

转载于:https://www.cnblogs.com/huanju/archive/2010/05/17/1737787.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值