Побег из песочницы: отражение

У меня действительно забавная проблема. Это что-то вроде побега из песочницы.

Цель: получить частные методы класса

Что я могу:
1) Загружать стандартные сборки сборками по длинному имени
2) Использовать методы GetType и Type

Чего я не могу:
1) Использовать using в коде 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 return Object:)

Как я мог решить эту проблему?

0 ответов

Другие вопросы по тегам