本文实例讲述了C#实现获取不同对象中名称相同属性的方法。分享给大家供大家参考。具体如下:
【两个类】
1
2
3
4
5
6
7
8
9
10
|
class demo1 { public string Name { get ; set ; } public int Age { get ; set ; } } class demo2 { public string Name { get ; set ; } public string Address { get ; set ; } } |
【初始化数据】
1
2
3
4
5
6
7
8
9
|
List< object > list = new List< object >(); demo1 d11 = new demo1() { Age = 1, Name = "我是demo1的1" }; demo1 d12 = new demo1() { Age = 2, Name = "我是demo1的2" }; demo2 d21 = new demo2() { Name = "我是demo2的1" }; demo2 d22 = new demo2() { Name = "我是demo2的2" }; list.Add(d11); list.Add(d21); list.Add(d31); list.Add(d12); |
【两个类都有同一个属性Name,现在遍历list集合,获取出所有的Name值】
1
2
3
4
5
6
7
|
foreach ( object o in list) { PropertyInfo pi = o.GetType().GetProperty( "Name" ); if (pi != null ) { Console.WriteLine(pi.GetValue(o, null ).ToString()); } } |
希望本文所述对大家的C#程序设计有所帮助。