Преобразовать группу методов в выражение
Я пытаюсь выяснить, существует ли простой синтаксис для преобразования группы методов в выражение. Кажется, с лямбдами это довольно просто, но это не переводится к методам:
Дано
<code>public delegate int FuncIntInt(int x); </code>
все нижеуказанные действительны:
<code>Func<int, int> func1 = x => x; FuncIntInt del1 = x => x; Expression<Func<int, int>> funcExpr1 = x => x; Expression<FuncIntInt> delExpr1 = x => x; </code>
Но если я попробую то же самое с методом экземпляра, он сломается в выражениях:
<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>
Оба из последних двух не могут быть скомпилированы с «Невозможно преобразовать группу методов» AFuncIntInt & apos; для типа без делегата "System.Linq.Expressions.Expression & lt; ... & gt;". Вы намеревались вызвать метод? & Quot;
Так есть ли хороший синтаксис для захвата метода grou в выражении?
Спасибо, Arne