Converter grupo de métodos em expressão

Eu estou tentando descobrir se existe uma sintaxe simples para converter um grupo de métodos para uma expressão. Parece bastante fácil com lambdas, mas não se traduz em métodos:

Dado

<code>public delegate int FuncIntInt(int x);
</code>

Todos os itens abaixo são válidos:

<code>Func<int, int> func1 = x => x;
FuncIntInt del1 = x => x;
Expression<Func<int, int>> funcExpr1 = x => x;
Expression<FuncIntInt> delExpr1 = x => x;
</code>

Mas se eu tentar o mesmo com um método de instância, ele se decompõe nas expressões:

<code>Foo foo = new Foo();
Func<int, int> func2 = foo.AFuncIntInt;
FuncIntInt del2 = foo.AFuncIntInt;
Expression<Func<int, int>> funcExpr2 = foo.AFuncIntInt; // does not compile
Expression<FuncIntInt> delExpr2 = foo.AFuncIntInt;      //does not compile
</code>

Os dois últimos não conseguem compilar com "Não é possível converter o grupo de métodos 'AFuncIntInt' para o tipo não delegado 'System.Linq.Expressions.Expression <...>'. Pretendia invocar o método?"

Então, há uma boa sintaxe para capturar um método grou em uma expressão?

obrigado arne

questionAnswers(2)

yourAnswerToTheQuestion