OutputManager(IEditorOperationsFactoryService editorOperationsFactoryService, ILogEditorProvider logEditorProvider, OutputManagerSettingsImpl outputManagerSettingsImpl, IPickSaveFilename pickSaveFilename, IMenuManager menuManager, [ImportMany] IEnumerable <Lazy <IOutputManagerListener, IOutputManagerListenerMetadata> > outputManagerListeners) { this.editorOperationsFactoryService = editorOperationsFactoryService; this.logEditorProvider = logEditorProvider; this.outputManagerSettingsImpl = outputManagerSettingsImpl; this.prevSelectedGuid = outputManagerSettingsImpl.SelectedGuid; this.pickSaveFilename = pickSaveFilename; this.menuManager = menuManager; this.outputBuffers = new ObservableCollection <OutputBufferVM>(); this.outputBuffers.CollectionChanged += OutputBuffers_CollectionChanged; var listeners = outputManagerListeners.OrderBy(a => a.Metadata.Order).ToArray(); Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Send, new Action(() => { foreach (var lazy in outputManagerListeners) { var l = lazy.Value; } })); }
OutputService(IOutputWindowOptionsService outputWindowOptionsService, IEditorOperationsFactoryService editorOperationsFactoryService, ILogEditorProvider logEditorProvider, OutputServiceSettingsImpl outputServiceSettingsImpl, IPickSaveFilename pickSaveFilename, IMenuService menuService, [ImportMany] IEnumerable<Lazy<IOutputServiceListener, IOutputServiceListenerMetadata>> outputServiceListeners) { this.outputWindowOptionsService = outputWindowOptionsService; outputWindowOptionsService.OptionChanged += OutputWindowOptionsService_OptionChanged; this.editorOperationsFactoryService = editorOperationsFactoryService; this.logEditorProvider = logEditorProvider; this.outputServiceSettingsImpl = outputServiceSettingsImpl; prevSelectedGuid = outputServiceSettingsImpl.SelectedGuid; this.pickSaveFilename = pickSaveFilename; this.menuService = menuService; outputBuffers = new ObservableCollection<OutputBufferVM>(); outputBuffers.CollectionChanged += OutputBuffers_CollectionChanged; var listeners = outputServiceListeners.OrderBy(a => a.Metadata.Order).ToArray(); Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Send, new Action(() => { foreach (var lazy in outputServiceListeners) { var l = lazy.Value; } })); }