1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- using Microsoft.Extensions.Configuration;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace wms.util
- {
- public class AppSettings
- {
- static IConfiguration Configuration { get; set; }
- public AppSettings(IConfiguration configuration)
- {
- Configuration = configuration;
- }
- /// <summary>
- /// 封装要操作的字符
- /// </summary>
- /// <param name="sections">节点配置</param>
- /// <returns></returns>
- public static string App(params string[] sections)
- {
- try
- {
- if (sections.Any())
- {
- return Configuration[string.Join(":", sections)];
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- return "";
- }
- /// <summary>
- /// 递归获取配置信息数组
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="sections"></param>
- /// <returns></returns>
- public static List<T> App<T>(params string[] sections)
- {
- List<T> list = new List<T>();
- // 引用 Microsoft.Extensions.Configuration.Binder 包
- Configuration.Bind(string.Join(":", sections), list);
- return list;
- }
- public static T Bind<T>(string key, T t)
- {
- Configuration.Bind(key, t);
- return t;
- }
- public static T GetAppConfig<T>(string key, T defaultValue = default)
- {
- T setting = (T)Convert.ChangeType(Configuration[key], typeof(T));
- var value = setting;
- if (setting == null)
- value = defaultValue;
- return value;
- }
- /// <summary>
- /// 获取配置文件
- /// </summary>
- /// <param name="key">eg: WeChat:Token</param>
- /// <returns></returns>
- public static string GetConfig(string key)
- {
- return Configuration[key];
- }
- }
- }
|