У меня действительно веселая проблема. Это что-то вроде песочницы.
Цель: получить приватные методы класса
Что я могу:
1) Загрузить стандартные сборки по сборкам с длинным именем
2) Использовать методы GetType и Type
Что я не могу:
1) Использовать в коде 2) Использовать системное слово в коде. Когда я загружаю сборки, я использую такой хак Load ("Sys" + "tem ....")
Похоже, я могу загрузить частные методы, такие как
myType.GetMethods(BindingFlags.NonPublic | BindingFlags.Instance);
, но я неBindingFlags импортирован в мой код.
Хорошо, я могу создать экземпляр BindingFlags и использовать его GetField, но снова он возвращает Object, и я не могу привести его к BindingFlags.
var value = bindingFlagsType.GetField("NonPublic").GetValue(null); //it's Object not BindingFlags
Я пробовал метод Convert.ChangeType, но Invoke возвращает Object:)
Как я могу решить эту проблему?