Criar o tipo de delegado em C # com o parâmetro ref em tempo de execução

Preciso criar um tipo de delegado com umref parâmetro em tempo de execuçã

Se eu conhecesse o (s) tipo (s) de parâmetro em tempo de compilação, poderia usar uma declaração explícita de tipo de delegado, por exemplo:

// S is some struct / value type, e.g. int or Guid
delegate void VoidDelSRef (ref S s);
Type td = typeof (VoidDelSRef);

Este tipotd é usado para criar uma árvore de expressão C # 4, que é compilada em um delegad

Como o código na minha árvore de expressões modifica o parâmetros, Eu preciso passars por referência

Tenho que suportar qualquer tipoS, então não posso usar uma declaração explícita do tipo delegado, porque só tenhoType ts = typeof (S) e os seusref tipoType tsr = ts.MakeByRefType ().

Eu tentei usarExpression.GetActionType (tsr), mas não permiteref tipos.

Como eu construo um delegado comref parâmetros em tempo de execução?

questionAnswers(1)

yourAnswerToTheQuestion