Возможно, вы, вероятно, ищете события модели кода, открытые через объект DTE2. Для полнофункциональной синхронизации вам необходимо обрабатывать ElementChanged и ElementAdded события, а также:
public void RegisterCodeModelEvents(DTE2 applicationObject)
{
events = (Events2)applicationObject.Events; //events Must be a field
codeModelEvents = events.get_CodeModelEvents(null);
codeModelEvents.ElementChanged += CodeModelElementChanged;
codeModelEvents.ElementAdded += CodeModelElementAdded;
codeModelEvents.ElementDeleted += CodeModelElementDeleted; // this is it!
}
Не забудьте удалить обработчики после завершения:
private void UnregisterCodeModelEvents()
{
if (codeModelEvents != null)
{
codeModelEvents.ElementAdded -= CodeModelElementAdded;
codeModelEvents.ElementChanged -= CodeModelElementChanged;
codeModelEvents.ElementDeleted -= CodeModelElementDeleted;
}
}
Просто из любопытства: почему бы вам хотите получить уведомление об этом? – Pieter888
Я хочу, чтобы модель кода была синхронизирована с диаграммами классов, почти как конструктор классов. :) –