各位大虾本人在开发中遇到一些问题如下:
如何能根据属性名获得一个实例的属性,前提是类是动态加载的. 举例说明: 我有一个A类,类本身没有任何属性,他的所有属性都是在new的时候根据配置文件读取的,比如:
A a1 = new A("123");
A a2 = new A("456");
那么 a1 里可能能有5个属性 ,a2 里可能有3个属性,那么我如何能在代码中根据属性的名,获得属性并设置属性值呢. 如下代码是无效的:
Type t = this.getType();
t.GetProperties();
这样的话 我一个属性也获得不了,因为以上代码是获得一个类的属性,而我要获得的是一个实例的属性,也就是说我并没有在类中定义属性,而是在new的时候创建的属性,每个实例属性内容不一样,我想要获得的是在内存中的那个实例的属性值.请教各位大虾了,任何帮助都不胜感激.
如何能根据属性名获得一个实例的属性,前提是类是动态加载的. 举例说明: 我有一个A类,类本身没有任何属性,他的所有属性都是在new的时候根据配置文件读取的,比如:
A a1 = new A("123");
A a2 = new A("456");
那么 a1 里可能能有5个属性 ,a2 里可能有3个属性,那么我如何能在代码中根据属性的名,获得属性并设置属性值呢. 如下代码是无效的:
Type t = this.getType();
t.GetProperties();
这样的话 我一个属性也获得不了,因为以上代码是获得一个类的属性,而我要获得的是一个实例的属性,也就是说我并没有在类中定义属性,而是在new的时候创建的属性,每个实例属性内容不一样,我想要获得的是在内存中的那个实例的属性值.请教各位大虾了,任何帮助都不胜感激.
解决方案 »
- 可不可以设置ComboBox的状态
- C#中如何对符合某一日期时间的记录更新??
- WINFORM,有什么好的Office OCX控件,能查看不能修改WORD,EXCEL
- 关于编程实现建立SQLSERVER 数据表的问题,在线等~
- DataGrideView里面加了CheckBox列,不能多选问题.在线等急.
- VS2005中dataGridView1行为什么不能删除?
- 用ADOX如何修改Access数据库的列数据类型?
- TCP 传输协议 关于自动处理收发信息
- 在DLL接口中,申明为ANSI的String如何取得返回值(传址)
- 怎么在窗口中插入报表设计器
- WPF如何通过按键事件构造三维图形?还有关于3Dtools~~
- 有关C#网络编程循环等待服务器回发数据的问题
t.GetProperties();这个本来就是获得实例类型以及属性的,没有问题CLR知道运行时类型就算匿名类
比如:var obj = new { Id = "1", Name = "2" };
var type = obj.GetType();
var pis = type.GetProperties(); //获得Id,Name