c# - 从反射调用静态委托(delegate)?

标签 c# reflection static

我有以下几行:

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

无法在 C# 中使用反射来执行类似 Foo.Bar(someObject); 的操作。正如我所见,Bar 不是 Method,是 Field,当然,我不能使用 MethodInfo.Invoke();

最佳答案

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

关于c# - 从反射调用静态委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35677632/

相关文章:

c# - Controller 类包含太多方法

java - 使用 ClassTag 获取包含泛型类型

java - 初始化复杂静态值的最佳方法

c# - 是否可以将 ReSharper 设置为在 IDisposable 处理不当时发出警告?

c# - 如何禁用 ViewModelViewHost 转换

c# 测试异步任务 - 测试用例忽略等待 - NullReferenceException

java.lang.reflect.Method#getModifiers 返回有效范围外的标志?

c# - 使用反射等效于 default(T)

c++ - 我可以让静态函数继承每个类的特定值吗?

java - 接口(interface)中的静态常量默认为 0 —— 为什么会这样?