Chamada dinâmica de um método usando parâmetros nomeados

Atualmente, estamos usando o .NET 3.5 e parte de nosso aplicativo usa a chamada dinâmica (usandoMethodBase.Invoke)

Eu estou querendo saber se é possível misturar em parâmetros nomeados (no .NET 4) com invocação dinâmica, para executar algo semelhante a:

// Dictionary that holds parameter name --> object mapping
var parameters = new Dictionary<string, object>();

// Add parameters ....

// Invoke where each parameter will match the one from the method signature.
methodInfo.Invoke(obj, parameters);

Existe alguma API que permita essa opção pronta? Se não, é possível desenvolver alguma solução para realizar isso?

EDITAR:

Repensando esse problema, ele parece semelhante a como o compilador pode realmente precisar corresponder as chamadas de método com base nas listas de argumentos. Talvez haja alguma Compiler API (ou o novo projeto Roslyn) que permita fazer isso com facilidade? (sem codificar eu mesmo que pode ser propenso a erros).

questionAnswers(3)

yourAnswerToTheQuestion