冷门 C# 小技巧之获取变量名称

Posted gongy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冷门 C# 小技巧之获取变量名称相关的知识,希望对你有一定的参考价值。

哈哈哈,我又回来了!!!!

 

上一篇博客说到 获取变量名称  常规推荐用法是 nameof()

但实际应用场景往往是多变的,在某些特定情况下 nameof()就无法满足相关需求,废话不多说上场景

1.常规做mvc对象认证的时候

技术图片

 

 

 我的某个属性是实体对象 例如BasicInfo

假设 当前BasicInfo中存在Name属性

在实际应用场景中 

mvc对象认证输出:BasicInfo.Name

nameof()输出:Name

对象认证时输出看着挺好,怎么自己用nameof()的时候就短了呢?

这时候有人说啦,对象认证都能搞定的事情你搞这么多屁事干啥?

 

额,既然我都在写这个啦,肯定是有情况发生了啦

1.对象认证做不到很多业务逻辑认证,比如用户是否存在【这就是为啥要自己研究nameof什么的】

2.如果我存在多个实体对象都有同名属性;我的某个属性是实体对象 例如BasicInfo,我还有某个属性是实体对象 列如ExtendInfo

假设 当前BasicInfo和ExtendInfo中都存在Name属性

在实际应用场景中 

mvc对象认证输出:BasicInfo.Name;ExtendInfo.Name

nameof()输出:Name;Name

当然也可以强行去用户nameof

技术图片

 

 这时候是不是觉得哎呀,真的不舒服。

 

感觉有点废话太多了上应用场景中的使用

根据自己当前应用场景封装一个

技术图片

 

 使用效果如下:

技术图片

 

 

 

 

 有点虎头蛇尾哈,一样的冷门、一样的可能会用到;如果对你有所帮助那将是我的荣幸!

 

以上是关于冷门 C# 小技巧之获取变量名称的主要内容,如果未能解决你的问题,请参考以下文章

PerfView专题 (第八篇):洞察 C# 内存泄漏之寻找静态变量名和GC模式

怎么获取enum的变量名称

怎么获取enum的变量名称

C# - 如何列出发布到 ASPX 页面的变量名称和值

MySQL 冷门知识之自定义变量

c#中的静态变量,怎么通过反射的方式获取指定变量名称的值呢?比如说一个const类型的常量:con