通过反射获取变量名称
单独使用反射来确定编译后的变量名称是不可行的。变量在编译为中间语言 (IL) 期间会丢失名称。
但是,使用表达式树和 lambda 表达式,可以将变量提升为闭包,从而创建引用该变量的匿名函数。
代码实现:
用法:
性能注意事项:
使用此方法可以由于创建多个对象、GC 压力和开销而缓慢反射。
C# 6.0 及更高版本的替代方案:
在 C# 6.0 中,nameof 关键字允许更直接的方法:
以上是如何使用反射在 C# 中获取变量名称以及有哪些替代方案?的详细内容。更多信息请关注PHP中文网其他相关文章!