public ExcelDnaIntelliSenseProvider(SynchronizationContext syncContextMain)
 {
     _loaderNotification = new LoaderNotification();
     _loaderNotification.LoadNotification += loaderNotification_LoadNotification;
     _syncContextMain         = syncContextMain;
     _syncContextExcel        = new ExcelSynchronizationContext();
     _processLoadNotification = ProcessLoadNotification;
 }
 public ExcelDnaIntelliSenseProvider(SynchronizationContext syncContextMain)
 {
     _loaderNotification = new LoaderNotification();
     _loaderNotification.LoadNotification += loaderNotification_LoadNotification;
     _syncContextMain         = syncContextMain;
     _syncContextExcel        = new ExcelSynchronizationContext();
     _xmlProvider             = new XmlIntelliSenseProvider();
     _xmlProvider.Invalidate += (sender, e) => OnInvalidate(null);
     _processLoadNotification = ProcessLoadNotification;
 }
 // DANGER: Still subject to LoaderLock warning ...
 // TODO: Consider Load/Unload done when AddIns is enumerated...
 void loaderNotification_LoadNotification(object sender, LoaderNotification.NotificationEventArgs e)
 {
     Debug.Print($"@>@>@>@> LoadNotification: {e.Reason} - {e.FullDllName}");
     if (e.FullDllName.EndsWith(".xll", StringComparison.OrdinalIgnoreCase))
         _syncContextMain.Post(_processLoadNotification, e);
 }
 public ExcelDnaIntelliSenseProvider(SynchronizationContext syncContextMain)
 {
     _loaderNotification = new LoaderNotification();
     _loaderNotification.LoadNotification += loaderNotification_LoadNotification;
     _syncContextMain = syncContextMain;
     _syncContextExcel = new ExcelSynchronizationContext();
     _xmlProvider = new XmlIntelliSenseProvider();
     _xmlProvider.Invalidate += (sender, e) => OnInvalidate(null);
     _processLoadNotification = ProcessLoadNotification;
 }