У меня есть базовый класс, у которого есть метод с именем "GetAllKeys", который я пытаюсь вызвать с помощью отражения.Проблема в том, что когда я использую GetMethod()
, результат равен нулю.
var method = classType.GetMethod("GetAllKeys", BindingFlags.Public | BindingFlags.Static );
Это сигнатура метода из класса.
public static IEnumerable<string> GetAllKeys()
Через отладчик я вижуметод существует и имеет следующие свойства.
InvocationFlags = INVOCATION_FLAGS_INITIALIZED | INVOCATION_FLAGS_NEED_SECURITY
BindingFlags Static | Public
IsDynamicallyInvokable true
System.Runtime.InteropServices._MethodBase.IsHideBySig true
System.Runtime.InteropServices._MethodBase.IsPublic true
System.Runtime.InteropServices._MethodBase.IsStatic true
Похоже, HideBySig
является атрибутом метода, поэтому я не могу использовать его в GetMethod()
, и раньше мне не приходилось делать это с другими методами втот же унаследованный класс.
Что я должен сделать, чтобы успешно извлечь этот метод для вызова?