2014-10-26 3 views
1

Я пытаюсь написать функцию, которая определяет, содержит ли сборка какой-либо код, который использует известные ссылки. Например, определите, использует ли данная сборка класс Thread (как часть метода, аргумент и т. Д.).Определить, соответствуют ли ссылки на сборку определенным классам

Я пишу программу, которая потребляет сторонние сборки. Я уже запускаю сборки в песочнице, но это не мешает коду выполнять другие действия, например, запускать потоки (что не соответствует моим требованиям). Я думал, что нужно сканировать сборку после ее загрузки в песочницу и определить, используется ли класс Thread.

Я сделал несколько начальных research при использовании IL, чтобы определить это, но мне интересно, есть ли более простой способ, чем восстановление результатов GetMethodBody.

+0

Возможный дубликат http://stackoverflow.com/q/26588882/41071. – svick

ответ

1

Пробег: Mono.Cecil. Вы можете проверить все, что делает код на уровне байт-кода.