Как найти все экземпляры типов, которые реализуют данный интерфейс во время отладки

Использование Вашего языка программирования. Вещи как использование обработки исключений, вместо если/еще просто, потому что в PLSnakish 1.4 это быстрее.Угадайте что? Возможности, это не быстрее вообще и что два года с этого времени, кто-то поддерживающий Ваш код станет действительно рассерженным на Вас, потому что Вы запутали код и заставили его работать намного медленнее, потому что в PLSnakish 1.8 специалисты по обслуживанию языка решили проблему и теперь если/еще в 10 раз быстрее, чем использование приемов обработки исключений. Работа с Ваш язык программирования и платформа!

12
задан Brian Rasmussen 19 September 2009 в 05:11
поделиться

4 ответа

Если вам не нужно создавать собственную программу, попробуйте NDepend .

-1
ответ дан 3 December 2019 в 00:08
поделиться

Несколько лет назад я отчаянно нуждался в некоторой информации, подобной этой. Я закончил тем, что создал древовидное представление, которое появилось бы только тогда, когда вы использовали непонятный вариант для запуска приложения. Когда я щелкнул «обновить», он использовал бы отражение, чтобы пройти через все свойства экземпляра корневого класса. Если он находит свойство, которое является коллекцией или содержит другие свойства, он рекурсивно вызывает их. Конечным результатом стало то, что дерево данных экземпляра на тот момент было доступно для изучения.

Основные моменты этого подхода:

  1. Убедитесь, что у вас есть только один экземпляр объекта верхнего уровня, или вы точно знать, сколько и какие экземпляры верхнего уровня есть. (Также не забывайте о статических значениях.)
  2. Выясните, как использовать отражение для просмотра соответствующих битов информации.
  3. Отображать его, когда это необходимо, и в удобочитаемой форме.
1
ответ дан 3 December 2019 в 00:08
поделиться

Вы пробовали

! Dumpheap -type IFaces

Он также покажет таблицы методов. Оттуда вы можете копать глубже.

1
ответ дан 3 December 2019 в 00:08
поделиться

Лучше всего начать с Crack.NET, который делает то, что вы хотите (хотя он нацелен на приложения wpf и winforms). Это проект с открытым исходным кодом, поэтому вы должны иметь возможность получить метод, используемый для получения нужной информации из источника. В нем есть плагин для Reflector, который позволяет вам также проверять детали объекта в памяти.

Страница проекта: http://joshsmithonwpf.wordpress.com/cracknet/

CodePlex: http://cracknetproject.codeplex.com/

0
ответ дан 3 December 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: