利用“反射”给类的属性赋值。
来源:互联网 发布:iwatch能用什么软件 编辑:程序博客网 时间:2024/04/29 09:25
建立一个class,class里的属性来自一个xml。属性的名字和xml的节点的名字是一样的。为了不一个一个地判断,使用了反射来给每个属性赋值。
class myclass { //属性设置 public string profileid { get; set; } public string url { get; set; } public DateTime startdate { get; set; } public bool bonus { get; set; } public int max{ get; set; } //这个函数是内部调用的,所以设置为private。 private void setProperties() { string propertyname = ""; XmlReader xr = XmlReader.Create(@“a.xml”); while (xr.Read()) { if (xr.IsStartElement()) { //给属性赋值 propertyname = xr.LocalName.ToLower(); xr.Read(); if (propertyname != "") { //检测一下,属性是否存在。如果存在,才继续赋值。不然会出错。 if (this.GetType().GetProperty(propertyname) != null) { //主要是使用了Convert.ChangeType来实现。 //但是如果bonus在xml的值是1,就会出错。好像转不到bool型。所以,在xml里,我强制了要写false和true。 this.GetType().GetProperty(propertyname).SetValue(this, Convert.ChangeType(xr.Value, this.GetType().GetProperty(propertyname).PropertyType), null); } } } } }}
- 利用“反射”给类的属性赋值。
- 利用反射给对象的属性赋值的例子
- 读取配置文件,利用反射给类属性赋值,
- C#利用反射给实体属性赋值
- 利用反射,给model类赋值
- C# 可以利用反射给只读属性赋值吗?
- 反射给没有set方法的属性赋值
- C#利用反射简化给类字段赋值
- c# 利用反射动态给实体类对象赋值
- c# 利用反射动态给实体类对象赋值
- 利用反射获取java类属性并赋值
- 从数据库读取数据后利用反射为对应的实体类的属性赋值
- 利用反射快速给Model实体赋值
- 利用反射快速给Model实体赋值
- 利用反射快速给Model实体赋值
- Webdriver利用JS给只读属性的文本框赋值
- 014--利用模型的didSet属性给UI赋值
- JAVA反射——给属性赋值
- C++中extern "C"含义深层探索
- C++ Tips
- 开机出现DHCP...../无法继续启动
- Zend Frame 配置信息实例|开源中国社区
- 3D格式快速指南
- 利用“反射”给类的属性赋值。
- VC++中利用/GS开关防止缓冲区溢出
- VI编辑器
- Shell 循环的使用
- Ubuntu下使用iptux
- 开源中国社区|纯PHP代码迭代一个表单不会有一句html代码其后端耦合度80%。
- UBUNTU 10.10 编译Android 2.3.1源码以及SDK
- 黄聪:C#窗体程序OpenGL绘制立方体多边形旋转示例教程(VS2008,Winform)
- 大多数网站后台管理的几个常见的安全问题注意防范.