我使用 Func 作为要在 Linq 语句中的 GroupBy 操作中使用的方法的参数。TSource 是 IFoo,TKey 是 IFoo 的属性,例如 IFoo.Number,使我的 Func 参数看起来像:
foo => foo.Number
到现在为止还挺好。但是,现在我正在尝试获取 TKey 的字符串表示形式,或者更确切地说,我正在尝试从 Func<> 参数中哄骗字符串“Number”。
可以做到吗?如果可以,怎么做?先谢谢大家了。。
你不能使用 Func,你需要一个类型的参数Expression<Func<TSource, TKey>>
并在 Expression 的 Body 上工作。
当你需要函数时,只需编译表达式。
从表达式中获取名称: 从 lambda 表达式中检索属性名称