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);
        }
    }

 

반응형

+ Recent posts