C# ...
                
              [Reflection] 리플렉션으로 함수 호출하기
                돼지고기국밥
                 2020. 6. 3. 13:36
              
              
            
            TestClass 의 MyMethod를 실행하는 예제
파라미터 유무에 따라 실행함
	static void Main(string[] args)
        {
            var testClass = new TestClass();
            Type myType = testClass.GetType();
            MethodInfo[] myArrayMethodInfo = myType.GetMethods();
            var methods = myArrayMethodInfo.Where(x => x.Name == "MyMethod");
            foreach(var method in methods)
            {
                ParameterInfo[] parameters = method.GetParameters();
                if (parameters.Length == 0)
                {
                    method.Invoke(testClass, null);
                }
                else
                {
                    method.Invoke(testClass, new object[] { "TEST" });
                }
            }
        }TestClass
    class TestClass
    {
        public void MyMethod()
        {
            Console.WriteLine("MyMethod()");
        }
        public void MyMethod(string name)
        {
            Console.WriteLine("MyMethod() - Name = {0}", name);
        }
    }
반응형