如何获取变量名
场景:
写代码时,经常遇到这种情况:要输出某个变量的名和变量值。log中想显示 “变量名:变量值”,如下文所示,可以成“"xuran":xuran”,但随着时间的推移,后期又要为该变量名正名,还得手动修改,甚是麻烦,且极易遗忘...
代码如下
/// <summary> /// 扩展 获取变量名称(字符串) /// </summary> /// <param name="var_name"></param> /// <param name="exp"></param> /// <returns>return string</returns> public static string GetVarName<T>(this T var_name, System.Linq.Expressions.Expression<Func<T, T>> exp) { return ((System.Linq.Expressions.MemberExpression)exp.Body).Member.Name; }
调用如下
string xuran ="蓄然"; string var1Name = xuran.GetVarName(it => xuran );