相关疑难解决方法(0)

lambda 表达式的扩展方法

我有一个辅助方法,它获取由 lambda 定义的属性的名称,其工作原理如下:

ExpressionUtil.GetName((Thing t) => t.Property); // returns "Property"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为扩展方法,因此语法将采用以下形式:

((Thing t) => t.Property).GetName(); // wont compile : operator '.' cannot be applies to operand of type 'lambda expression'
Run Code Online (Sandbox Code Playgroud)

然而我似乎不能像 lambda 那样做到这一点((Thing t) => t.Property)(还不是表达式或 Func)。有没有办法编写直接应用于 lambda 的扩展方法?如果不是的话,为什么这是一件坏事呢?

c# lambda extension-methods

4
推荐指数
1
解决办法
4061
查看次数

标签 统计

c# ×1

extension-methods ×1

lambda ×1