/// <summary> /// 解析插件启动策略,如果启动插件本身是立即启动,则会导致其依赖项也会启动 /// </summary> internal void ResolveBundleStartPolicy(ResolverNode resolverNode, ActivatorPolicy policy) { // 检查当前解析解点,并进行启动策略处理 if (policy == ActivatorPolicy.Immediate && resolverNode.Bundle.ActivatorPolicy == ActivatorPolicy.Lazy) { resolverNode.Bundle.ActivatorPolicy = policy; } // 变更当前上下文策略 if (resolverNode.Bundle.ActivatorPolicy == ActivatorPolicy.Immediate) { policy = ActivatorPolicy.Immediate; } // 处理依赖解析插件解点启动策略 foreach (ResolverNode dependency in resolverNode.Dependencies) { ResolveBundleStartPolicy(dependency, policy); } }
public ActivatorData() { //默认为及时加载 this.Policy = ActivatorPolicy.Immediate; }