Exemple #1
0
        // TODO -- harden with a better exception
        public Type FindEnvironmentType()
        {
            if (EnvironmentClassName.IsNotEmpty())
            {
                return(Type.GetType(EnvironmentClassName));
            }

            return(AppDomain.CurrentDomain
                   .Load(AssemblyName)
                   .GetExportedTypes()
                   .First(x => x.IsConcreteTypeOf <IEnvironment>()));
        }
        // TODO -- harden with a better exception
        public Type FindEnvironmentType(IPackageLog log)
        {
            if (EnvironmentClassName.IsNotEmpty())
            {
                log.Trace("Environment class was specified '{0}'", EnvironmentClassName);
                return(Type.GetType(EnvironmentClassName));
            }

            log.Trace("Scanning AppDomain for IEnvironment");
            var foundClass = AppDomain.CurrentDomain
                             .Load(AssemblyName)
                             .GetExportedTypes()
                             .First(x => x.IsConcreteTypeOf <IEnvironment>());

            log.Trace("Found Environment class '{0}'", foundClass);
            return(foundClass);
        }