标签:
今天在自我规范程序设计的时候,变量名匹配字符串来自配置文件,网上找了一会儿发现也有朋友在找寻这种方式,很不容易找到一个解决方案来自http://www.th7.cn/Program/net/201404/187358.shtml
下面就是今天找到的进行详细解答
首先需要自定义一个静态方法
/// <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; }
以上是为了调用方便所以使用了扩展 不喜欢的朋友可以用下方的方式 方法可以直接写工具类中
/// <summary> /// 获取变量名称 /// </summary> /// <param name="exp"></param> /// <returns>return string</returns> public static string GetVarName<T>(System.Linq.Expressions.Expression<Func<T, T>> exp) { return ((System.Linq.Expressions.MemberExpression)exp.Body).Member.Name; }
下面是扩展的调用演示
bool test_name = true; //变量类型可随意
string tips = test_name.GetVarName(it => test_name);
标签:
原文地址:http://www.cnblogs.com/gongy/p/lm-2015-04-03.html