[.NET].typeof().GetProperties(), SetValue(), .GetType()

해내면 그만!XX·2022년 5월 22일
0

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

0개의 댓글