#region Copyright (C) 2016 Kevin (OSS开源系列) 公众号:OSSCore /*************************************************************************** *   文件功能描述:全局插件 - 配置插件辅助类 * *   创建人: Kevin * 创建人Email:1985088337@qq.com * * *****************************************************************************/ #endregion namespace OSS.Tools.DirConfig { /// /// 字典配置通用存储获取信息 /// public static class DirConfigHelper { private static readonly IToolDirConfig _defaultDirTool = new DefaultToolDirConfig(); /// /// 配置信息来源提供者 /// public static Func? ToolProvider { get; set; } /// /// 来源名称格式化 /// public static Func? SourceFormat { get; set; } /// /// 通过来源名称获取 /// /// /// private static IToolDirConfig GetDirConfig(string sourceName) { if (SourceFormat != null) sourceName = SourceFormat.Invoke(sourceName); return ToolProvider?.Invoke(sourceName) ?? _defaultDirTool; } /// /// 设置字典配置信息 /// /// /// /// 来源名称 /// /// public static Task SetDirConfig(string key, TConfig dirConfig, string sourceName = "") { return GetDirConfig(sourceName).SetDirConfig(key, dirConfig,sourceName); } /// /// 获取字典配置 /// /// /// /// 来源名称 /// public static Task GetDirConfig(string key, string sourceName = "") { return GetDirConfig(sourceName).GetDirConfig(key, sourceName); } /// /// 移除配置信息 /// /// /// 来源名称 /// public static Task RemoveDirConfig(string key, string sourceName = "") { return GetDirConfig(sourceName).RemoveDirConfig(key, sourceName); } } }