typeof()
: 객체의 자료형을 확인해준다.
.GetType().Name
: 변수 또는 객체의 자료형을 확인해준다.
typeof(T).GetProperties()
: 현재 Type의 모든 public 속성을 반환합니다.
pInfo.SetValue(cls, "양뱅"); //SetValue로 값을 넣는다.
public void Run()
{
Student std = new Student();
//Student Class에 Property 를 모두 가지고 온다.
PropertyInfo[] pArr = typeof(Student).GetProperties();
foreach (var pInfo in pArr)
{
//Property의 타입, 이름, 값을 확인
Console.WriteLine($"Property Name : {pInfo.Name}");
Console.WriteLine($"Property Type : {pInfo.PropertyType}");
Console.WriteLine($"Property Value : {pInfo.GetValue(std)}");
//Property의 이름이 Name 이라면 다른 값을 넣어주자
if (pInfo.Name.Equals("Name"))
pInfo.SetValue(std, "양뱅"); //SetValue로 값을 넣는다.
//Property의 이름이 Age 이라면 다른 값을 넣어주자
if (pInfo.Name.Equals("Age"))
pInfo.SetValue(std, 03);
}
//변경된 값 확인
Console.WriteLine($"{std.Name} : {std.Age}");
}
/*******************************************************/
public class Student //Property로 선언
{
public string Name { get; set; }
public int Age { get; set; }
}
참조
https://yangbengdictionary.tistory.com/4
https://developer-talk.tistory.com/204