从Reflection调用静态委托?

时间:2016-02-28 01:27:21

标签: c# reflection static

我有以下几行:

public static class Foo
{
    public static Func<object,string> Bar = myObject => myObject.ToString();
}

使用C#中的反射无法执行Foo.Bar(someObject);之类的操作。我可以看到Bar不是一个方法,当然是一个Field,我不能使用MethodInfo.Invoke();

1 个答案:

答案 0 :(得分:3)

通过反思获取属性的值。它是一个委托,因此可以直接调用它的Invoke方法(如果您将静态地知道,则转换为适当的类型)或通过反射。