c#通過表示式獲取呼叫的屬性名稱
阿新 • • 發佈:2021-12-24
/// <summary> /// 獲取表示式呼叫的欄位名稱 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="expr"></param> /// <returns></returns> private string GetPropertyName<T>(Expression<Func<T, object>> expr) { switch (expr.Body) { case MemberExpression memberExpression: return memberExpression.Member.Name; case UnaryExpression unaryExpression: if (unaryExpression.Operand is MemberExpression expression) { return expression.Member.Name; } break; default: break; } return ""; }
呼叫方法
string desc = GetPropertyName<A>(f => f.Id);
System.Console.WriteLine(desc);
留待後查,同時方便他人聯絡我:[email protected]