【问题标题】:How do I use Reflection to get the fields of a method?如何使用反射来获取方法的字段?
【发布时间】:2020-09-08 12:07:31
【问题描述】:

如何通过用户反射来获取方法中的字段?我尝试使用 MethodInfo,然后使用 GetFields,但返回的值不是我在方法中定义的字段。

例如,使用下面的代码,我将如何获取 LineNo 的 FieldInfo?

    private void MyMethod()
    {
        int LineNo = 0;
    }

谢谢

【问题讨论】:

  • 你为什么要那个?
  • 读取输入 csv 文件,解析它,然后创建输出 csv 文件。输出文件列标题基于枚举。我想使用枚举名称集合,然后像命名的局部变量一样分配。我以前从未尝试在方法级别这样做。接受教育总是好的 :-)。
  • 如果你想要一个方法的数据,然后返回这个数据。

标签: c# reflection methodinfo fieldinfo


【解决方案1】:

通过反射,您无法在函数代码中获取字段值,

您可以获取Class/Object的字段值。

【讨论】:

  • 方法没有“字段”。
【解决方案2】:
  1. 这些不是字段,而是局部变量。
  2. 充其量你可以得到方法体的IL。如果你能以某种方式解析,你应该能够掌握方法中声明的所有局部变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多