我有以下几行:
public static class Foo
{
public static Func<object,string> Bar = myObject => myObject.ToString();
}
使用C#中的反射无法执行Foo.Bar(someObject);
之类的操作。我可以看到Bar不是一个方法,当然是一个Field,我不能使用MethodInfo.Invoke();
答案 0 :(得分:3)
通过反思获取属性的值。它是一个委托,因此可以直接调用它的Invoke方法(如果您将静态地知道,则转换为适当的类型)或通过反射。