如何获取调用方方法中变量/参数的原始名称?类似[CallerMemberName]属性
获取调用方方法中变量/参数的原始定义名称?
目前没有标准化的官方解决方案能实现类似[CallerMemberName]属性那样,直接获取调用方方法里变量或参数的原始定义名称。
2018.02更新:这个问题和另外几个同类问题(问题1、2、3)本质一致,但截至2018年初,业内依然没有成熟的标准化解决办法。
现在能找到的替代方案,比如借助Expression<Func<T>>来提取变量名称,存在不少明显的问题:
- 这属于未被官方文档记录的用法,后续.NET版本迭代可能会出现兼容性问题;
- 该方案需要将代码转换为表达式树来解析原始名称,会产生较高的CPU开销,在高频调用的场景下会明显影响程序性能。
内容的提问来源于stack exchange,提问作者Oleg Zarevennyi
相关产品推荐
相关产品推荐

