Как получить доступ к типам (классам) текущего открытого проекта из надстройки Visual Studio? - PullRequest
1 голос
/ 13 февраля 2010

Как получить доступ к типам (классам) текущего открытого проекта из надстройки Visual Studio (чтобы иметь возможность создавать экземпляры этих классов в надстройке)? Возможно ли это через отражение? Или, может быть, динамически включить сборку проекта в качестве ссылки?

В конце я хотел бы получить список всех типов, доступных из проекта, с учетом ссылочных сборок и типов, объявленных в самом проекте. При отсутствии метода для фактического поиска экземпляров типов может подойти список имен типов - таким образом, я не столкнусь с проблемами, если проект еще не построен и типы в нем еще не реализованы.

Я использую Visual Studio 2008, и я предпочитаю язык C #.

Edit: я думаю, что я мог бы анализировать каждый файл и искать объявления классов, но я хотел бы также рассмотреть типы из ссылочных сборок. Ссылки могут быть найдены путем поиска операторов using, но это оставляет динамически импортированные типы dll открытой проблемой. Таким образом, учитывая разветвление отдельных ситуаций, я задаюсь вопросом, не существует ли более простого способа.

Ответы [ 2 ]

1 голос
/ 14 февраля 2010

Конечно, просто получите сборку из выходного каталога и загрузите ее. Сейчас я не работаю над какими-либо проектами EnvDTE, поэтому я не могу просто вставить и выбить образец, но именно так вы сможете перечислять / создавать экземпляры классов.

Но .... Нобугз намекает, что что-то пахнет .. Что ты пытаешься сделать? Там может быть «лучший» способ сделать это.

0 голосов
/ 29 апреля 2010

Модель кода Visual Studio предлагает клиентам автоматизации возможность обнаружения определений кода в проекте и изменения этих элементов кода.

Для получения дополнительной информации перейдите по ссылке:

http://msdn.microsoft.com/en-us/library/ms228763(VS.80).aspx

...