【冷门】 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
这时候是不是觉得哎呀,真的不舒服。
感觉有点废话太多了上应用场景中的使用
根据自己当前应用场景封装一个
使用效果如下:
有点虎头蛇尾哈,一样的冷门、一样的可能会用到;如果对你有所帮助那将是我的荣幸!