/// <summary> /// 注册更新处理器 /// </summary> /// <param name="section">节点</param> /// <param name="reload">更新处理方法</param> /// <param name="runNow">是否现在执行一次</param> public static void RegistOnChange(string section, Action reload, bool runNow = true) { var cfg = new ChangeAction { Section = section }; cfg.SetAction(reload); actions.Add(cfg); cfg.Disposable = ChangeToken.OnChange(() => Root.GetSection(cfg.Section).GetReloadToken(), cfg.Action); if (runNow) { cfg.Action(); } }
/// <summary> /// 注册更新处理器 /// </summary> /// <param name="section">节点</param> /// <param name="reload">更新处理方法</param> /// <param name="runNow">是否现在执行一次</param> public static void RegistOnChange <TConfig>(string section, Action <TConfig> reload, bool runNow = true) where TConfig : class, new() { var cfg = new ChangeAction { Section = section }; cfg.SetAction(reload); cfg.Disposable = ChangeToken.OnChange(() => Root.GetSection(cfg.Section).GetReloadToken(), cfg.Action); if (runNow) { cfg.Action(); } }