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); }