Exemple #1
0
        /// <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);
        }