더북(TheBook)

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 클래스의 정적 멤버 리스트를 얻은 후 멤버 이름을 출력하는 예제입니다. 리플렉션을 사용하면 이 예제처럼 특정 클래스의 전체 멤버 리스트 또는 특정 조건에 맞는 멤버를 얻을 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.