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