反射:从父类获取静态方法

Posted

技术标签:

【中文标题】反射:从父类获取静态方法【英文标题】:Reflection: get Static method from the parent class 【发布时间】:2010-05-12 09:40:58 【问题描述】:

我的任务是使用这样的反射来获取静态方法:

myType.GetMethod("MyMethod",BindingFlags.Static | BindingFlags.Public | BindingFlags.InvokeMethod);

如果类包含 MyMethod 一切正常,但如果父类包含 MyMethod 我收到 null :(。我如何使用反射像我上面描述的代码从父类调用静态方法? 谢谢。

【问题讨论】:

【参考方案1】:

尝试使用BindingFlags.FlattenHierarchy 绑定属性。 (我自己没有尝试过,如果浪费您的时间,我深表歉意。)

【讨论】:

【参考方案2】:

非常简单地获取描述父类的类型对象并在该对象上执行上述代码,这将为您提供所需的 MethodInfo 对象。调用 methodInfo 对象,将实例参数的 myType 对象传递给它

【讨论】:

以上是关于反射:从父类获取静态方法的主要内容,如果未能解决你的问题,请参考以下文章

php父类中访问子类的静态属性

爪哇 |父类和子类中的静态变量|从父类访问子 var 值

如何从父静态函数调用静态子函数?

Typescript中的类

Python学习:16.Python面对对象(反射,构造方法,静态字段,静态方法)

简述在类的继承关系中,子类可以继承父类的都有哪些成员