시스템. 리플렉션 네임스페이스에는 애플리케이션에 대한 정보를 얻고 애플리케이션에 유형, 값 및 개체를 동적으로 추가할 수 있는 클래스가 포함되어 있습니다.
리플렉션 개체는 런타임에 형식 정보를 얻는 데 사용됩니다. 실행 중인 프로그램의 메타데이터에 대한 액세스를 제공하는 클래스는 시스템에 있습니다. 리플렉션 네임스페이스.
리플렉션을 사용하면 런타임에 속성 정보를 볼 수 있습니다.
리플렉션을 사용하면 어셈블리의 다양한 유형을 검사하고 이러한 유형을 인스턴스화할 수 있습니다.
리플렉션을 사용하면 메서드 및 속성에 늦게 바인딩할 수 있습니다.
리플렉션을 사용하면 런타임에 새 유형을 만든 다음 해당 유형을 사용하여 일부 작업을 수행할 수 있습니다.
예시
GetProperty(문자열)
지정된 이름으로 공용 속성을 검색합니다.
GetType(문자열, 부울)
어셈블리 인스턴스에서 지정된 이름을 가진 Type 개체를 가져오고 유형을 찾을 수 없는 경우 선택적으로 예외를 throw합니다.
SetValue(객체, 객체)
지정된 개체의 속성 값을 설정합니다.
class Program{ static void Main(string[] args){ User user = new User(); Type type = user.GetType(); PropertyInfo prop = type.GetProperty("Name"); prop.SetValue(user, "Bangalore", null); System.Console.WriteLine(user.Name); Console.ReadLine(); } } class User{ public int Id { get; set; } public string Name { get; set; } }
출력
Bangalore