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; this.prevSelectedGuid = outputServiceSettingsImpl.SelectedGuid; this.pickSaveFilename = pickSaveFilename; this.menuService = menuService; this.outputBuffers = new ObservableCollection <OutputBufferVM>(); this.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; } })); }
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; } })); }