コード例 #1
0
        internal static void LoadModules(IApplicationModuleManager container, ApplicationConfiguration config)
        {
            if (config == null)
            {
                return;
            }
            if (container == null)
            {
                return;
            }

            foreach (ModuleDefinition moduleDef in config.ModulesConfiguration.Modules)
            {
                Type moduleType = Type.GetType(moduleDef.Type, false, true);
                if (moduleType == null)
                {
                    throw new InvalidOperationException(
                              string.Format("Cannot load type from string \"{0}\".", moduleDef.Type));
                }
                if (!typeof(IApplicationModule).IsAssignableFrom(moduleType))
                {
                    throw new InvalidCastException(string.Format("Type {0} does not implements type {1}.", moduleType, typeof(IApplicationModule)));
                }

                IApplicationModule module = (IApplicationModule)Activator.CreateInstance(moduleType);
                container.Load(module);
            }
        }
コード例 #2
0
        internal static void LoadModules(IApplicationModuleManager container, ApplicationConfiguration config)
        {
            if (config == null) return;
            if (container == null) return;

            foreach (ModuleDefinition moduleDef in config.ModulesConfiguration.Modules)
            {
                Type moduleType = Type.GetType(moduleDef.Type, false, true);
                if (moduleType == null) 
                    throw new InvalidOperationException(
                        string.Format("Cannot load type from string \"{0}\".", moduleDef.Type));
                if (!typeof(IApplicationModule).IsAssignableFrom(moduleType))
                    throw new InvalidCastException(string.Format("Type {0} does not implements type {1}.", moduleType, typeof(IApplicationModule)));

                IApplicationModule module = (IApplicationModule)Activator.CreateInstance(moduleType);
                container.Load(module);
            }
        }
コード例 #3
0
        public override void Init()
        {
            IApplicationModuleManager manager = IoC.Container.Resolve <IApplicationModuleManager>();

            manager.Execute(this);
        }