以下のように機能するラムダによって定義されたプロパティの名前を取得するヘルパー メソッドがあります。
ExpressionUtil.GetName((Thing t) => t.Property); // returns "Property"
これを拡張メソッドに変換したいので、構文は次の形式になります。
((Thing t) => t.Property).GetName(); // wont compile : operator '.' cannot be applies to operand of type 'lambda expression'
ただし((Thing t) => t.Property)
、ラムダのようにこれを行うことはできないようです(まだ式やFuncではありません)。ラムダに直接適用される拡張メソッドを作成する方法はありますか? そうでない場合、なぜこれが悪いことなのですか?