private void BeginRetrievingModule(ModuleInfo moduleInfo) { ModuleInfo moduleInfoToLoadType = moduleInfo; IModuleTypeLoader moduleTypeLoader = this.GetTypeLoaderForModule(moduleInfoToLoadType); moduleInfoToLoadType.State = ModuleState.LoadingTypes; moduleTypeLoader.BeginLoadModuleType(moduleInfo, this.OnModuleTypeLoaded); }
private void BeginRetrievingModule(ModuleInfo moduleInfo) { ModuleInfo moduleInfoToLoadType = moduleInfo; IModuleTypeLoader moduleTypeLoader = this.GetTypeLoaderForModule(moduleInfoToLoadType); moduleInfoToLoadType.State = ModuleState.LoadingTypes; if (!this.subscribedToModuleTypeLoaders.Contains(moduleTypeLoader)) { moduleTypeLoader.ModuleDownloadProgressChanged += this.IModuleTypeLoader_ModuleDownloadProgressChanged; moduleTypeLoader.LoadModuleCompleted += this.IModuleTypeLoader_LoadModuleCompleted; this.subscribedToModuleTypeLoaders.Add(moduleTypeLoader); } moduleTypeLoader.LoadModuleType(moduleInfo); }
private void BeginRetrievingModule(ModuleInfo moduleInfo) { ModuleInfo moduleInfoToLoadType = moduleInfo; IModuleTypeLoader moduleTypeLoader = this.GetTypeLoaderForModule(moduleInfoToLoadType); moduleInfoToLoadType.State = ModuleState.LoadingTypes; if (!this.subscribedToModuleTypeLoaders.Contains(moduleTypeLoader)) { this.subscribedToModuleTypeLoaders.Add(moduleTypeLoader); } moduleTypeLoader.LoadModuleType(moduleInfo); }
private void BeginRetrievingModule(ModuleInfo moduleInfo) { ModuleInfo moduleInfoToLoadType = moduleInfo; IModuleTypeLoader moduleTypeLoader = this.GetTypeLoaderForModule(moduleInfoToLoadType); moduleInfoToLoadType.State = ModuleState.LoadingTypes; // Delegate += works differently betweem SL and WPF. // We only want to subscribe to each instance once. if (!this.subscribedToModuleTypeLoaders.Contains(moduleTypeLoader)) { moduleTypeLoader.ModuleDownloadProgressChanged += this.IModuleTypeLoader_ModuleDownloadProgressChanged; moduleTypeLoader.LoadModuleCompleted += this.IModuleTypeLoader_LoadModuleCompleted; this.subscribedToModuleTypeLoaders.Add(moduleTypeLoader); } moduleTypeLoader.LoadModuleType(moduleInfo); }
/// <summary> /// 根据给定的模块信息,开始对系统进行加载 /// </summary> /// <param name="appInfo">子系统信息</param> private void BeginRetrievingModule(ModuleInfo moduleInfo) { ModuleInfo moduleInfoToLoadType = moduleInfo; //获取一个模块加载解析器 IModuleTypeLoader moduleTypeLoader = this.GetTypeLoaderForModule(moduleInfoToLoadType); //修改模块状态为加载中. moduleInfoToLoadType.State = ModuleState.LoadingTypes; // Delegate += 在WPF和SL中的工作方式不同. //为每一个加载器仅进行一次订阅. if (!this.subscribedToModuleTypeLoaders.Contains(moduleTypeLoader)) { moduleTypeLoader.ModuleDownloadProgressChanged += this.IModuleTypeLoader_ModuleDownloadProgressChanged; moduleTypeLoader.LoadModuleCompleted += this.IModuleTypeLoader_LoadModuleCompleted; this.subscribedToModuleTypeLoaders.Add(moduleTypeLoader); } //模块加载 moduleTypeLoader.LoadModuleType(moduleInfo); }
public ModuleManager(IKernel kernel, IModuleTypeLoader moduleTypeLoade) { _kernel = kernel; _moduleTypeLoader = moduleTypeLoade; LoadedModules = new Collection<ModuleInfo>(); }