C# 遍历类的属性并取出值
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。
十年河东十年河西,莫欺少年穷
学无止境,精益求精
今天有点胡思乱想,想遍历MVC Model的属性并取值:
这个方法还是很简单的,通过反射即可遍历属性,我总结的方法如下:
namespace WeiXinApi.CommonCS
{
public class ForeachClass
{
/// <summary>
/// C#反射遍历对象属性
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="model">对象</param>
public static void ForeachClassProperties<T>(T model)
{
Type t = model.GetType();
PropertyInfo[] PropertyList = t.GetProperties();
foreach (PropertyInfo item in PropertyList)
{
string name = item.Name;
object value = item.GetValue(model, null);
}
}
}
}
下面我们来简单测试下:
新建Model如下:
public class AddressInfo
{
public int Id { get; set; }
public string userName { get; set; }
public string userTel { get; set; }
public string Addressdetail { get; set; }
public int isMoren { get; set; } public AddressInfo()
{
Id = ;
userName = "陈卧龙";
userTel = "1813707015*";
Addressdetail = "江苏省苏州市工业园区国际科技园";
isMoren = ;
}
}
调用如下:
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Response.Redirect("/Home/Login");
AddressInfo model = new AddressInfo();
ForeachClass.ForeachClassProperties<AddressInfo>(model);
}
}
测试结果如下:

经过测试,我们可以得到对象的各个属性及对应的值、
其实这块内容输入C# 反射系列,小弟也是误打误撞,撞入了C# 反射,索性每天学一点
@陈卧龙的博客
C# 遍历类的属性并取出值的更多相关文章
- 使用Expression tree访问类的属性名称与值
表达式树Expression是Linq中一项比较重要的功能,对其深刻了解Lamda以及计算表达式有很大的帮助. 下面是利用 Expression<Func<Object>>[] ...
- Type反射遍历类的属性
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup& ...
- C#遍历类的属性,然后给其赋值
public class PP { public string a { get; set; } public string b { get; set; } public string c { get; ...
- java中循环遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTarg ...
- 【转】java遍历实体类的属性和数据类型以及属性值
和同学接了个外包的活,由于项目中很多地方要用到poi导出excel,而每次导出都要写很多相同的代码,因为poi的cell.setCellValue();每次设置的都是不同实体bean的属性值,导致代码 ...
- java遍历实体类的属性和数据类型以及属性值
遍历实体类的树形和数据类型一级属性值 /** * 遍历实体类的属性和数据类型以及属性值 * @param model * @throws NoSuchMethodException * @throws ...
- java中如何遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTa ...
- iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值
在上篇博客<iOS开发之使用Runtime给Model类赋值>中介绍了如何使用运行时在实体类的基类中添加给实体类的属性赋值的方法,这个方法的前提是字典的Key必须和实体类的Property ...
- C#获取实体类属性名和值
遍历获得一个实体类的所有属性名,以及该类的所有属性的值 //先定义一个类: public class User { public string name { get; set; } public st ...
随机推荐
- 关于scrollbar-face-color只支持ie的解决办法!
关于scrollbar-face-color只支持ie的解决方法!!今天突然有人问我滚动条css自定义的方法,我发现用scrollbar-base-color这种方法只有ie支持,查了半天资料总结如下 ...
- 四、卫星定位《苹果iOS实例编程入门教程》
该app为应用的功能为用iPhone 显示你现在的位置 现版本 SDK 8.4 Xcode 运行Xcode 选择 Create a new Xcode project ->Single View ...
- Go语言练习:网络编程实例——简易图片上传网站
1.代码结构 2.运行实例 1.代码结构 $ tree . ├── photoweb.go ├── public │ ├── css │ ├── images │ └── js ├── u ...
- js获取屏幕大小
1.js获取屏幕大小 <html> <script> function a(){ document.write( "屏幕分辨率为:"+screen.widt ...
- CentOS6设置密码过期时间
#密码过期时间180天chage -M 180 rootchage -l rootchage -M 180 gwchage -l gw
- HDU1224 DP
Free DIY Tour Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- CMD和DOS的区别
很多人喜欢在这里把XP下的CMD和我们的DOS混淆,因此今天我特别发帖说明:CMD和DOS是完全不同的!请各位始终牢记这一点,否则在高手面前就丢人了!因为CMD是32位应用程序(而DOS是16位操作系 ...
- sql 执行 delete 的时候,结合子查询 exists ,怎样支持别名呢?
在做一个数据删除的时候,条件需要用到关联其他表,用到子查询,但是查询的时候使用 别名 没有问题,但是删除就有语法错误,在网上查询后得到了完美解决: --查询出来需要删除的数据 select * fro ...
- java动态编译类文件并加载到内存中
如果你想在动态编译并加载了class后,能够用hibernate的数据访问接口以面向对象的方式来操作该class类,请参考这篇博文-http://www.cnblogs.com/anai/p/4270 ...
- ajax实现文件上传
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...