需要用到的包:
Microsoft.Extensions.Configuration.Json
:负责加载 JSON 配置文件,解析其中的内容。
Microsoft.Extensions.Configuration.Binder
:负责将解析的配置数据绑定到实体
public class AppSettings { public static IConfiguration Configuration { get; set; } public AppSettings(IConfiguration configuration) { Configuration = configuration; } public AppSettings(string basePath) { string path = "appsettings.json"; Configuration = new ConfigurationBuilder() .SetBasePath(basePath) .Add(new JsonConfigurationSource { Path = path, Optional = false, ReloadOnChange = true }) .Build(); } public static string AppString(params string[] paras) { if (paras.Length != 0) { return Configuration[string.Join(":", paras)]; } return string.Empty; } public static T AppEntity<T>(params string[] paras) { return Configuration.GetSection(string.Join(":", paras)).Get<T>(); } public static List<T> AppEntitys<T>(params string[] paras) { return Configuration.GetSection(string.Join(":", paras)).Get<List<T>>(); } public static List<KeyValuePair<string, string>> AppKeys(params string[] paras) { return Configuration.GetSection(string.Join(":", paras)) .GetChildren().Select(x => new KeyValuePair<string, string>(x.Key, x.Value)).ToList(); } }
注入:program.cs里面
builder.Services.AddSingleton(new AppSettings(builder.Configuration));
使用:
AppSettings.AppString("AppConfig:ApiName");
分类:
封装一个上传到nuget的扩展类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)