嘿伙计们,我需要能够通用地遍历当前函数/子(用于日志记录)的所有参数,例如:
Public sub SampleHandler(ByVal Sender as Object, ByVal e as EventArgs)
Dim argholder as List(of Object)
For each arg in getcurrentargs() '<-------- That thing
argholder.add(arg)
Next
Log(argholder)
'Continue doing method things
End Sub
有什么想法吗?我一直试图通过 Emit(我不完全掌握)和 StackTrace 来提取它们,但到目前为止无济于事。多个消息来源告诉我,MSIL 将能够完成此任务,但与我交谈过的任何人都无法给我一个有效的实现或对 HOW 的清晰解释。
附加信息:
我需要能够遍历函数的所有参数并将它们的值添加到列表中。无论是通过某种方法提取名称然后可以利用它们来获取值,还是只是某种可以引用它们的通用标识符,任何一种方式都可以,但它必须是程序化的和静态代码块。
目的是在任何非敏感函数(我正在为这个项目使用的代码有几百个)中,我希望能够插入对这个代码块的内联引用(找出那个方法) 来捕获函数的名称 (done)、它的模块/类 (done)、运行时间 (done)、结果 (如果是函数;done)、当前的 err_level 是什么 (done) 以及正在使用什么值作为参数传入(根据我知道模块/类和函数名称的逻辑,我可以在必要时匹配这些值),以便我可以转身并记录它们。“敏感”功能,我必须以不同的方式处理,这样我就不会注销 p/w 和 u/n 或类似的东西;但这些都得到了照顾。