Como uso a reflexão para chamar um método genérico?

Qual é a melhor maneira de chamar um método genérico quando o parâmetro type não é conhecido no tempo de compilação, mas é obtido dinamicamente no tempo de execução?

Considere o seguinte código de amostra - dentro doExample() método, qual é a maneira mais concisa de invocarGenericMethod<T>() usando oType armazenado nomyType variável?

public class Sample
{
    public void Example(string typeName)
    {
        Type myType = FindType(typeName);

        // What goes here to call GenericMethod<T>()?
        GenericMethod<myType>(); // This doesn't work

        // What changes to call StaticMethod<T>()?
        Sample.StaticMethod<myType>(); // This also doesn't work
    }

    public void GenericMethod<T>()
    {
        // ...
    }

    public static void StaticMethod<T>()
    {
        //...
    }
}

questionAnswers(7)

yourAnswerToTheQuestion