![]() |
1
2
这是不可能的。其他的答案给了你一些关于如何检索局部变量集及其类型的想法,但肯定不是它们在执行时的当前值。C#或.NET中对此没有规定。方法参数也是如此:可以检索它们的类型(甚至名称),但不能检索它们的值。 请允许我建议,如果你需要这个,你的代码设计是严重缺陷。你应该考虑重新考虑你的代码结构。 作为解决方法,您可以声明 哪个有 领域
但是,我认为您可以很容易地看到,这不是非常健壮的代码:每当您对该类进行更改时,在此代码段中所做的隐式假设都可能会被打破。
|
![]() |
2
1
尤其是在反射类中,尝试一下 LocalVariableInfo -虽然变量名没有被保留,所以它并不是您想要的。 |
![]() |
3
1
EDIT:要获取调用方法的主体,因此可以在它自己的函数中使用
然而,这种方法是脆弱的,因为StackFrame的使用依赖于优化和方法内联之类的东西。 |