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.
}