本文实例讲述了C#编程获取实体类属性名和值的方法。分享给大家供大家参考,具体如下:
遍历获得一个实体类的所有属性名,以及该类的所有属性的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
//先定义一个类:
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#程序设计有所帮助。