Sam*_*Sam 8 .net c# reflection .net-4.5
可能重复:
获取变量或参数的名称
我希望能够将变量的名称作为字符串.
这可以通过使用无参数的lambda表达式有效地实现.但是,这会产生性能开销,并且它不是内置功能.
.NET 4.5 CallerMemberNameAttribute提供了一个调用者的名称作为方法参数.这为我们提供了内置和更好(在某些情况下)的方式来满足特定情况.
.NET 4.5为特定上下文提供了该领域的改进.现在还有一个更好的^意味着将任何变量的名称作为字符串?
根据要求,这是我想要实现的一般用法示例:
//Assume 'myVariable' is a local variable, member variable, static member variable, constant, parameter or even a property.
string myVariableName = ...; //This should get the string name of myVariable
Run Code Online (Sandbox Code Playgroud)
^更好,我的意思是更快,不需要反射,内置.NET或更优雅,但最好是这些的组合.
不,没有更好/更快的方法。我认为,您链接的表达式树方式是获取变量名称的唯一方法。
、CallerMemberNameAttribute、是 .NET 4.5 中在该领域引入的唯一新功能CallerFilePathAttribute。CallerLineNumberAttribute
| 归档时间: |
|
| 查看次数: |
1337 次 |
| 最近记录: |