ProjectItemsEvents.ItemAdded: как узнать тип элемента?

Я начинаю разрабатывать VSPackage и хотел бы знать, когда новая ссылка добавляется в проект, но подписка ItemAdded of ProjectItemsEvents дает мне объект ProjectItem, и я не знаю, как проверить, является ли это ссылкой. Может ли кто-нибудь помочь мне решить эту проблему? Заранее спасибо.

1 ответ

К счастью, я обнаружил, что класс VSLangProj.ReferencesEvents запускает нужное мне событие ReferenceAdded. Итак, я сделал:

private static ReferencesEvents _refEvents;
private static Events2 _dteEvents;
public void SubscribeEvents()
{
 EnvDTE.DTE dte = (EnvDTE.DTE)ServiceProvider.GetService(typeof(EnvDTE.DTE));
 _dteEvents = dte.Events as Events2;
 _refEvents = (ReferencesEvents)_dteEvents.GetObject("CSharpReferencesEvents");
 _refEvents.ReferenceAdded += new _dispReferencesEvents_ReferenceAddedEventHandler(ReferenceAdded);
}

private void ReferenceAdded(Reference pReference)
{
  // do some stuff.
}
Другие вопросы по тегам