从反射调用静态委托

本文关键字:静态 调用 反射 | 更新日期: 2023-09-27 18:36:43

我有以下几行:

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

无法在 C# 中使用反射执行类似Foo.Bar(someObject);的操作。正如我所看到的,Bar不是一个方法,当然是一个字段,我不能使用MethodInfo.Invoke();

从反射调用静态委托

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