c# – 如何获取MemberInfo的值?

如何获取MemberInfo对象的值? .Name返回变量的名称,但我需要该值。

我想你可以用FieldInfo来做到这一点,但是我没有一个代码段,如果你知道如何做,你可以提供一个代码片段?

谢谢!

以下是使用FieldInfo.GetValue的字段示例:

using System;
using System.Reflection;

public class Test
{
    // public just for the sake of a short example.
    public int x;

    static void Main()
    {
        FieldInfo field = typeof(Test).GetField("x");
        Test t = new Test();
        t.x = 10;

        Console.WriteLine(field.GetValue(t));
    }
}

类似的代码将适用于使用PropertyInfo.GetValue()的属性 – 尽管您还需要将任何参数的值传递给属性。 (对于“正常”C#属性将不会有任何异常,但是C#索引器在框架方面也算作属性。)对于方法,如果要调用该方法并使用该方法,则需要调用Invoke返回值。

翻译自:https://stackoverflow.com/questions/238555/how-do-i-get-the-value-of-memberinfo

转载注明原文:c# – 如何获取MemberInfo的值?