2012-06-13 3 views
0

Я использую Func в качестве аргумента для метода, который будет использоваться в операции GroupBy в инструкции Linq. TSource быть IFoo и TKey будучи собственностью IFoo, таких как IFoo.Number, что делает мой параметр Func выглядит как:Получение имени параметра Func <TSource, TKey> Generic Type

foo => foo.Number 

До сих пор так хорошо. Однако теперь я пытаюсь получить строковое представление TKey или, вернее, я пытаюсь коаксировать строку «Number» из параметра Func <>.

Можно ли это сделать, и если да, то как? Поблагодарив всех вас заранее ..

ответ

2

Вы не можете с Func, вам нужен параметр типа Expression<Func<TSource, TKey>>

и работы на теле выражения.

Когда вам нужен func, просто скомпилируйте выражение.

Чтобы получить имя из выражения: Retrieving Property name from lambda expression

Смежные вопросы