【发布时间】:2013-01-09 23:03:35
【问题描述】:
我正在尝试将变量的名称作为字符串返回。
所以如果变量是var1,我想返回字符串“var1”。
有什么办法可以做到吗?我听说 Reflection 的方向可能是正确的。
编辑:
我本质上是在尝试简化有组织的树视图的实现。 我有一个方法,你给出两个字符串:rootName 和 subNodeText。 rootName 恰好是一个变量的名称。对此方法的调用是从该变量的 with 块中调用的。我希望用户能够调用 Method(.getVariableAsString, subNodeText) 而不是 Method("Variable", subNodeText)。想要以编程方式获取它的原因是可以简单地复制和粘贴此代码。我不想每次变量被命名为异常时都对其进行调整。
Function aFunction()
Dim variable as Object '<- This isn't always "variable".
Dim someText as String = "Contents of the node"
With variable '<- Isn't always "variable". Could be "var", "v", "nonsense", etc
'I want to call this
Method(.GetName, someText)
'Not this
Method("Variable",someText)
End With
End Function
【问题讨论】:
-
你要这个干什么?
-
我实际上是在尝试使有组织的树视图的实现更简单。我有一个方法,你给出两个字符串:rootName 和 subNodeText。 rootName 恰好是一个变量的名称。对此方法的调用是从该变量的 with 块中调用的。我希望用户能够调用 Method(.getVariableAsString, subNodeText) 而不是 Method("Variable", subNodeText)。想要以编程方式获取它的原因是可以简单地复制和粘贴此代码。我不想每次变量被命名为异常时都对其进行调整。
-
您知道,有许多现代编程方法应运而生,以解决在旧的、更程序化的方式中会相当困难的问题。请发布相关代码,以便我们为您提供帮助。
-
@HighCore 用一些示例代码编辑了主要问题。
-
“希望以编程方式获取它的原因是这样可以简单地复制和粘贴此代码” 如果您的代码是以您(或其他人)的方式完成的) 需要从一个地方复制和粘贴代码,这是完全错误的。您将无法获得变量名称,因为这没有意义。显示您的树视图的代码,以便我们更好地理解。
标签: vb.net variables reflection tostring var