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