如何通过名称获取方法处理程序?(C#)

Jea*_*uis 2 c# reflection methods delegates handler

请查看下面的代码以了解我的问题:

public class MyClass
{
  public delegate object MyDelegate(object value); 

  public MyDelegate GetMethodByName(string methodName)
  {
     // What have to be here?
  }

  public object Method1(object value)
  {
     // some code here
  }

  public object Method2(object value)
  {
     // some code here
  }

  public object Method3(object value)
  {
     // some code here
  }
}
Run Code Online (Sandbox Code Playgroud)

在某个地方:

var obj = new MyClass();
MyDelegate del = obj.GetMethodByName("Method1");
var result = del(someobject);
Run Code Online (Sandbox Code Playgroud)

那么如何通过名称获取方法处理程序呢?(C#)

dec*_*one 6

var obj = new MyClass();
MyDelegate del = (MyDelegate)Delegate.CreateDelegate(typeof(MyDelegate), obj.GetType().GetMethod("Method1"));
var result = del(someobject);
Run Code Online (Sandbox Code Playgroud)