public static void InitializeProvider(this ITaskPanesReceiver receiver, object application, object ctpFactoryInst) { if (receiver == default) { throw new ArgumentNullException(nameof(receiver)); } BaseProvider.AddReceiver(receiver); if (DryIocProvider.Application == default) { var dryIocApplication = new Application.ExcelApplication( application: application, ctpFactoryInst: ctpFactoryInst, contentType: receiver.GetType()); DryIocProvider.InitializeApplication(dryIocApplication); DryIocProvider.OnApplicationExitEvent += OnApplicationExit; DryIocProvider.OnScopeClosingEvent += OnScopeClosing; DryIocProvider.OnScopeInitializedEvent += OnScopeInitialized; DryIocProvider.OnScopeOpenedEvent += OnScopeOpened; DryIocProvider.OnProviderReadyEvent += OnProviderReady; DryIocProvider.OnTaskPaneChangedEvent += OnTaskPaneChanged; } }