如何获取变量名

如何获取变量名

场景:

写代码时,经常遇到这种情况:要输出某个变量的名和变量值。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 );

  

posted @ 2019-04-26 10:21  蓄势泰然  阅读(1142)  评论(0编辑  收藏  举报