我有一个方法要转换为扩展方法
public static string GetMemberName<T>(Expression<Func<T>> item)
{
return ((MemberExpression)item.Body).Member.Name;
}
并称它为
string str = myclass.GetMemberName(() => new Foo().Bar);
所以它评估为str = "Bar"; // It gives the Member name and not its value
现在,当我尝试通过此将其转换为扩展方法时
public static string GetMemberName<T>(this Expression<Func<T>> item)
{
return ((MemberExpression)item.Body).Member.Name;
}
并称它为
string str = (() => new Foo().Bar).GetMemberName();
错误说Operator '.' cannot be applied to operand of type 'lambda expression'
我哪里错了?