本文实例讲述了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#程序设计有所帮助。