Konwertuj grupę metod na wyrażenie

Próbuję dowiedzieć się, czy istnieje prosta składnia do konwersji grupy metod na wyrażenie. Wydaje się to dość proste w lambdach, ale nie przekłada się to na metody:

Dany

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

wszystkie poniższe są ważne:

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

Ale jeśli spróbuję tego samego z metodą instancji, zepsuje się przy wyrażeniach:

<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>

Oba ostatnie dwa nie skompilowały się z „Nie można przekonwertować grupy metod„ AFuncIntInt ”na nieprzypisany typ„ System.Linq.Expressions.Expression <...> ”. Czy zamierzałeś wywołać metodę?”

Czy więc istnieje dobra składnia do przechwytywania metody grou w wyrażeniu?

dzięki, arne

questionAnswers(2)

yourAnswerToTheQuestion