我的基类有一个公共(public)静态方法,但是当我调用typeof(TDerived).GetMethods(BindingFlags.Public |BindingFlags.Static时,我的方法不会返回。 (TDerived当然是从我的基类继承的)。我在此查询处没有对我的基类的引用。
我究竟做错了什么?

最佳答案

使用BindingFlags.FlattenHierarchy标志:

typeof(TDerived).GetMethods(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy)

这是Type.GetMethods(BindingFlags)方法的documented behavior in the Remarks section

关于c# - 如何获得基类的公共(public)静态方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5675006/

10-10 12:43