【冷门】 C# 小技巧之获取变量名称
今天在自我规范程序设计的时候,变量名匹配字符串来自配置文件,网上找了一会儿发现也有朋友在找寻这种方式,很不容易找到一个解决方案来自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);
string tips = test_name.GetVarName(it => 1==1);
string tips = 类名.GetVarName(it => test_name);
【冷门】 C# 小技巧之获取变量名称的更多相关文章
- 【转】 C# 小技巧之获取变量名称
link: http://www.cnblogs.com/gongy/p/lm-2015-04-03.html 今天在自我规范程序设计的时候,变量名匹配字符串来自配置文件,网上找了一会儿发现也有朋友在 ...
- bash小技巧1 获取文件当前路径
我们linux获取文件当前路径一般问 #逼格不够高 [root@xxxx]# pwd 高逼格 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
- Linux运维之——每日小技巧,获取网站请求数的前20个IP
获取网站请求书的前20个IP |grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
- python 小技巧之获取固定下面包含的某种类型文件的个数
遇到这样一个问题.我想要统计某个文件夹下有多少个py文件怎么办. 用python能解决吗?答案,能. 解决办法,使用glob 代码如下: import glob path_file_number=gl ...
- jquery获取json对象中的key小技巧
jquery获取json对象中的key小技巧 比如有一个json var json = {"name" : "Tom", "age" : 1 ...
- laravel获取checkbox值的小技巧
以前老是用三元运算符来判断,现在有了更好的方法: 1.html代码 <input type="hidden" name="approved" value= ...
- 两个sed小技巧:sed "/变量/变量/"
两个sed小技巧 在写shell时使用sed处理一些输出,遇到两个问题,在网上找到了相应的解决办法,在此处备份一下. [ sed处理空字符 ] 空字符,它的ASCII码值为0.在sed中如何标识空字符 ...
- 【每日一个小技巧】Python | input的提示信息换行输出,提示信息用变量表示
[每日一个小技巧]Python | input的提示信息换行输出,提示信息用变量表示 在书写代码的途中,经常会实现这样功能: 请输入下列选项前的序号: 1.选择1 2.选择2 3.选择3 在pytho ...
- sql server 小技巧(5) Sql server 获取指定字符后的所有字符 - 去掉指定字符前的所有字符
select top 10 SUBSTRING( sproductcode, CHARINDEX('-', SProductCode)+1, LEN(SProductCode)) from csmr ...
随机推荐
- objectForKey与valueForKey在NSDictionary中的差异
从 NSDictionary 取值的时候有两个方法,objectForKey: 和 valueForKey:,这两个方法具体有什么不同呢? 先从 NSDictionary 文档中来看这两个方法的定义: ...
- BZOJ1725,POJ3254 [Usaco2006 Nov]Corn Fields牧场的安排
题意 Farmer John新买了一块长方形的牧场,这块牧场被划分成M列N行\((1 \leq M \leq 12, 1 \leq N \leq 12)\),每一格都是一块正方形的土地.FJ打算在牧场 ...
- Oracle数据库安装图文操作步骤1
Oracle数据库安装图文操作步骤 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官 ...
- Jetty小计,比之tomcat调试还是不方便
不需要额外的工程支持,不需要硬盘中有tomcat之类的额外文件 Jetty的Debug:右键Debug as... Maven Builder Jetty相关的配置文件如下: <profiles ...
- 6.Python使用Pandas小案例
1.使用以下命令引入Pandas和xlrd,引入成功后在pycharm的setting导入即可使用(pip3是由于个人python版本为3.6)==在dos命令行输入以下信息 pip3 install ...
- hyperledger fabric共识组件分析 --背书策略
在fabric中,共识过程意味着多个节点对于某一批交易的发生顺序.合法性以及它们对账本状态的更新结构达成一致的观点.满足共识则意味着多个节点可以始终保证相同的状态,对于以同样顺序到达的交易可以进行一致 ...
- Bash命令查找本机公网IP
用Bash命令查找本机公网IP wget -qO - http://ipecho.net/plain; echo
- 确保nginx安全的10个技巧
Nginx是当今最流行的Web服务器之一.它为世界上7%的web流量提供服务而且正在以惊人的速度增长.它是个让人惊奇的服务器,我愿意部署它. 下面是一个常见安全陷阱和解决方案的列表,它可以辅助来确保你 ...
- 阻塞队列之一:BlockingQueue汇总
一.阻塞队列介绍 BlockingQueue 通常用于一个线程生产对象,而另外一个线程消费这些对象的场景.下图是对这个原理的阐述: 一个线程往里边放,另外一个线程从里边取的一个 BlockingQue ...
- webpack快速入门(三):资源管理
上一章说了基本的webpack是用,包括命令行打包,npm脚本打包等基础的东西. 这篇说一下webpack的资源管理,包括(图片,字体,数据),首先调整一下项目结构成: webpack-demo |- ...