【.Net码农】C#获取实体类属性名和值 | 遍历类对象
2016-10-22 08:56
330 查看
http://www.cnblogs.com/Byrd/archive/2012/08/21/2649518.html
遍历获得一个实体类的所有属性名,以及该类的所有属性的值
//先定义一个类:
public class User
{
public string name { get; set; }
public string gender { get; set; }
public string age { get; set; }
}
//实例化类,并给实列化对像的属性赋值:
User u = new User();
u.name = "ahbool";
u.gender = "男";
//输出此类的所有属性名和属性对应的值
Response.Write(getProperties(u));
//输出结果为: name:ahbool,gender:男,age:,
//遍历获取类的属性及属性的值:
public string getProperties<T>(T t)
{
string tStr = string.Empty;
if (t == null)
{
return tStr;
}
System.Reflection.PropertyInfo[] properties = t.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
if (properties.Length <= 0)
{
return tStr;
}
foreach (System.Reflection.PropertyInfo item in properties)
{
string name = item.Name;
object value = item.GetValue(t, null);
if (item.PropertyType.IsValueType || item.PropertyType.Name.StartsWith("String"))
{
tStr += string.Format("{0}:{1},", name, value);
}
else
{
getProperties(value);
}
}
return tStr;
}
C#获取实体类属性名和值 | 遍历类对象
遍历获得一个实体类的所有属性名,以及该类的所有属性的值//先定义一个类:
public class User
{
public string name { get; set; }
public string gender { get; set; }
public string age { get; set; }
}
//实例化类,并给实列化对像的属性赋值:
User u = new User();
u.name = "ahbool";
u.gender = "男";
//输出此类的所有属性名和属性对应的值
Response.Write(getProperties(u));
//输出结果为: name:ahbool,gender:男,age:,
//遍历获取类的属性及属性的值:
public string getProperties<T>(T t)
{
string tStr = string.Empty;
if (t == null)
{
return tStr;
}
System.Reflection.PropertyInfo[] properties = t.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
if (properties.Length <= 0)
{
return tStr;
}
foreach (System.Reflection.PropertyInfo item in properties)
{
string name = item.Name;
object value = item.GetValue(t, null);
if (item.PropertyType.IsValueType || item.PropertyType.Name.StartsWith("String"))
{
tStr += string.Format("{0}:{1},", name, value);
}
else
{
getProperties(value);
}
}
return tStr;
}
相关文章推荐
- C#获取实体类属性名和值 | 遍历类对象
- C#获取实体类属性名和值 | 遍历类对象
- C#获取实体类属性名和值和DESCRIPTION值 | 遍历类对象
- C#获取实体类属性名和值和DESCRIPTION值 | 遍历类对象
- C#获取实体类属性名和值和DESCRIPTION值 | 遍历类对象
- C#获取实体类属性名和值 | 遍历类对象
- C#编程获取实体类属性名和值的方法示例
- C#获取实体类属性名和值(转)
- C#通过反射获取对象属性,打印所有字段属性的值
- C#利用反射获取对象属性的修改情况
- C#反射新建类实例和调用类方法及属性帮助类 以及获取或设置对象属性中字段值帮助类
- VS 2008 + .NET 3.5 - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 获取类的属性和值 C#
- 3、步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 通过反射获取对象的属性和值
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Ext
- 获取对象的属性和值
- 获取C#对象中调用属性的属性名
- .net C# 获取枚举值集合与其属性
- .net 获取实体类的属性