2017-07-25 3 views
0

Ich fange an, ein VSPackage zu entwickeln und möchte wissen, wenn eine neue Referenz zu einem Projekt hinzugefügt wird, aber das Abonnieren der ItemAdded von ProjectItemsEvents gibt mir ein ProjectItem-Objekt, und ich weiß nicht, wie Sie überprüfen, ob es eine Referenz ist. Kann mir jemand helfen, dieses Problem zu lösen? Danke im Voraus.ProjectItemsEvents.ItemAdded: Wie kann ich den Elementtyp erkennen?

Antwort

0

Zum Glück habe ich festgestellt, dass die Klasse VSLangProj.ReferencesEvents das ReferenceAdded-Ereignis auslöst, das ich brauche. Also, ich habe getan:

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