/// <inheritdoc /> public TService GetService <TService>() where TService : class, IUIService { Type type = typeof(TService); if (type.IsAssignableFrom(typeof(IProgressMonitor))) { return(ProgressMonitor.GetInstance() as TService); } if (type.IsAssignableFrom(typeof(ISingleViewPerspective))) { return(new SingleViewPerspective() as TService); } if (type.IsAssignableFrom(typeof(IMultiViewPerspective))) { return(new MultiViewPerspective() as TService); } return(null); }