gpt4 book ai didi

vb.net - 查找变量的声明名称

转载 作者:行者123 更新时间:2023-12-04 05:27:45 25 4
gpt4 key购买 nike

有谁知道如何获取已声明变量的名称。例如:

Public Function returnName(variable as integer) as string

Dim [string] as string = string.empty
[string] = variable.name
return [string]

End Function

我见过它尝试了几次,大多数人说这是不可能的,解释说 IL 不存储传递的变量的名称,但是相信存在一些可以追溯到名称的有形指针或引用似乎是合理的。谁能给我一些关于这个的标题。

为什么?这纯粹是个人研究。

最佳答案

反射可以为您提供方法参数的名称,以及方法主体上下文中的局部变量,但这就是降压停止的地方。获取它们的唯一方法是读取调试信息文件,即为您的程序生成的 .pdb。

这是有充分理由的。抖动执行的最重要的工作之一是从生成的机器代码中删除局部变量。并用 cpu 寄存器替换它们。这是一个非常重要的优化,可以对代码的速度产生很大的影响。内存很慢,cpu 寄存器很快。这是在程序的发布版本中执行的优化。当您尝试通过附加调试器来调试程序的发布版本时,也非常明显。你会从调试器那里得到很多警告,告诉你当你要求它检查一个局部变量时它不知道你的意思。以及使用 .pdb 文件时的失败。

关于抖动执行的优化类型的背景答案是 available here .

关于vb.net - 查找变量的声明名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12998554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com