46.9 특정 클래스의 메서드와 속성을 동적으로 호출하기
이번에는 리플렉션을 사용하여 특정 클래스의 메서드와 속성 등 정보를 동적으로 가져오는 예제를 만들어 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.
리플렉션을 사용하여 메서드와 속성을 동적으로 호출: ReflectionGetMembers.cs
using System; using System.Reflection; namespace ReflectionGetMembers { class Test { public static void TestMethod() { } } class ReflectionGetMembers { static void Main() { //Test 클래스에 대한 Type 개체 가져오기 Type t = typeof(Test); //원하는 멤버를 조건에 따라 가져오기 MemberInfo[] members = t.GetMembers(BindingFlags.Static | BindingFlags.Public); //멤버 출력 foreach (var member in members) { Console.WriteLine("{0}", member.Name); } } } }
실행 결과
TestMethod
리플렉션을 사용하여 Test 클래스의 정적 멤버 리스트를 얻은 후 멤버 이름을 출력하는 예제입니다. 리플렉션을 사용하면 이 예제처럼 특정 클래스의 전체 멤버 리스트 또는 특정 조건에 맞는 멤버를 얻을 수 있습니다.