C#反射技术小结
来源:互联网 发布:醉玲珑 小说知乎 编辑:程序博客网 时间:2024/06/05 17:51
要用C#反射技术的话,首先得引入System.Reflection 命名空间,这个命名空间里的类,具有动态加载程序集、类型,动态调用方法、设置和取得属性和字段的值、可以获取类型和方法的信息的功能。
要想对一个类型实例的属性或字段进行动态赋值或取值,首先得得到这个实例或类型的Type,微软已经为我们提供了足够多的方法。
1 Class MyClass
2 {
3 private int field;
4 public int Field
5 {
6 get
7 {
8 return this.field;
9 }
10 set
11 {
12 this.field = value;
13 }
14 }
15 }
如果有个这个类型的实例:
MyClass myObj = new MyClass();
要动态地为这个实例的属性Field赋值,那么得先得到这个实例的类型:
Type t = typeof(MyClass);
另一种方法是:
Type t = myObj.GetType();
只要得到了对象的类型,那么就可以利用反射对这个对象“为所欲为”了,哈哈。
利用反射为对象里的属性Field赋值了:
t.GetProperty("Field").SetValue(myObj, value, null);
或者
myObj.GetType().GetProperty("Field").SetValue(myObj, value, null);
或者
myObj.GetType().GetProperty("Field").GetValue(myObj, value, null);
如果把属性名和要赋的值写道配置文件里的话,我们就可以达到程序运行期间动态的为属性赋值了。
利用反射获取对象里的属性Field的值的方法:
t.GetProperty("Field").SetValue(myObj,null));
t.GetProperty("Field").GetValue(myObj,null);
- C#反射技术小结
- C# 反射技术应用
- C#反射技术
- C# 反射技术
- C# 反射技术
- c#反射技术
- 【转】C#反射技术
- c# 高级技术--反射
- c# 高级技术--反射
- c# 反射技术杂谈。,
- C#反射技术学习
- c#反射技术
- C# 反射技术应用
- C# 反射技术应用
- C#反射技术应用
- C# 反射技术简介
- C# 技术漫谈 反射机制
- C# 反射技术测试笔记
- 解三元一次方程组的C#函数
- ABAP主要文章目录
- mstsc用法
- C#/VB如何定义抽象属性
- CMMB芯片提供商濒临倒闭谁之过?
- C#反射技术小结
- Linux一句话精彩问答--2008/11/02更新--20071212pdf版本下载
- linux高可用(HA)集群笔记heartbeat+drbd+nfs (原创)
- gridview 中的checkbox的全选和全取消的功能,批量添加sql语句--2008-11-5 项目开发心得
- oracle10g on AIX 调优笔记
- 学习Java的30个目标
- 关于VC2005 中的Character Set问题
- java 访问包下的类
- 转:卖猪男和农家女是如何引发经济危机的