| 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];        }    }}
 |