Extrair o nome do método da árvore de expressões?

Estou tentando implementar a seguinte função de padrão:

MethodInfo GetMethod(      
  Expression<Func<TTarget, EventHandler<TEventArgs>>> method)

Posso fornecer uma instância do TTarget, se necessário

O uso desejado é:

public static void Main(string[] args)
{
    var methodInfo = GetMethod<Program, EventArgs>(t => t.Method);
    Console.WriteLine("Hello, world!");
}

private void Method(object sender, EventArgs e)
{
}

Aqui está o que eu tentei até agora:

private static MethodInfo GetMethod(TTarget target, Expression<Func<TTarget, EventHandler<TEventArgs>>> method)
{
  var lambda = method as LambdaExpression;
  var body = lambda.Body as UnaryExpression;
  var call = body.Operand as MethodCallExpression;
  var mInfo = call.Method as MethodInfo;

  Console.WriteLine(mInfo);

  throw new NotImplementedException();
}

Imprime:

System.Delegate CreateDelegate(System.Type, System.Object, System.Reflection.Met hodInfo)

questionAnswers(2)

yourAnswerToTheQuestion