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

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