Passar método como parâmetro usando c #

Eu tenho vários métodos, todos com a mesma assinatura (parâmetros e valores de retorno), mas nomes diferentes e os elementos internos dos métodos são diferentes. Quero passar o nome do método para executar em outro método que invocará o método passado.

public int Method1(string)
{
    ... do something
    return myInt;
}

public int Method2(string)
{
    ... do something different
    return myInt;
}

public bool RunTheMethod([Method Name passed in here] myMethodName)
{
    ... do stuff
    int i = myMethodName("My String");
    ... do more stuff
    return true;
}

public bool Test()
{
    return RunTheMethod(Method1);
}

Este código não funciona, mas é isso que estou tentando fazer. O que não entendo é como escrever o código RunTheMethod, pois preciso definir o parâmetro.

questionAnswers(10)

yourAnswerToTheQuestion