Ejemplo n.º 1
0
        public static void RemoveModuleInfo(ModuleInfo moduleInfo)
        {
            if (moduleInfo == null)
            {
                throw new ArgumentNullException("moduleInfo");
            }

            RemoveModuleInfo(moduleInfo.ID);
        }
Ejemplo n.º 2
0
        public static void RegisteModuleInfo(ModuleInfo moduleInfo)
        {
            if (moduleInfo == null || moduleInfo.File.IsNullOrEmpty() || moduleInfo.ID.IsNullOrEmpty()) return;

            if (moduleInfoList.ContainsKey(moduleInfo.ID))
            {
                throw new Exception(moduleInfo.ID + "模块已存在,请更改其他模块ID。");
            }

            moduleInfoList[moduleInfo.ID] = moduleInfo;
            if (moduleInfo.Startup) startupModuleInfoList.Add(moduleInfo);
        }
Ejemplo n.º 3
0
        public static Module CreateModule(ModuleInfo moduleInfo)
        {
            Module module;

            Assembly assembly = Assembly.LoadFrom(Path.Combine(moduleInfo.CurDir, moduleInfo.File));

            try
            {
                Type type = assembly.GetType(moduleInfo.CLS);

                module = Activator.CreateInstance(type, moduleInfo) as Module;

                ModuleMonitor.RegisteModule(module);

                MsgMonitor.RegisteReceiver(module);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return module;
        }