C# 서로 다른 객체에서 이름이 같은 속성을 가져오는 방법

1118 단어
이 예제에서는 C# 에서 서로 다른 객체의 이름과 같은 속성을 가져오는 방법을 설명합니다.여러분에게 참고하도록 공유하다.구체적으로 다음과 같다.
[두 종류]

class demo1
{
 public string Name { get; set; }
 public int Age { get; set; }
}
class demo2
{
 public string Name { get; set; }
 public string Address { get; set; }
}

【데이터 초기화】

List list = new List();
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 값을 가져옵니다.]

foreach(object o in list)
{
  PropertyInfo pi = o.GetType().GetProperty("Name");
  if (pi != null) {
  Console.WriteLine(pi.GetValue(o,null).ToString());
  }
}

이 문서가 C# 프로그램 설계에 도움이 되었으면 합니다.

좋은 웹페이지 즐겨찾기