본문 바로가기

프로그래밍 언어/C#

함수명을 String으로 호출하기

함수가 Index만 변경되고, 여러 개의 함수들을 호출해야 하는 경우가 있다.

아래와 같은 예제 코드처럼 하면 함수명을 String으로 호출이 가능하다.

using System.Reflection;
using System;
 
void Function_Invoke()
{
    String func_name = "Func__Call_Me";
    Test_Class test_class = new Test_Class();
    Type test_type = test_class.GetType();
 
    MethodInfo func_test__call_me = type.GetMethod(func_name, BindingFlags.Instance | BindingFlags.Public);

    //이제 Invoke를 하면 해당함수의 본문을 실행한다.
    func_test__call_me.Invoke(test_class, null);
 }