C#通用公共类库ZXNetStandardDepot.Common
总结了一下写项目中遇到的各种方法,总结前辈们的经验,生成了该类库,引用net standard类库,支持net core/net framework.
使用方法
1、nuget 搜索 ZXNetStandardDepot.Common
2、方法说明
2.1 封装了读取net core appsettings文件信息的方法
net core api/mvc 项目需要在Startup中依赖注入
该行代码会读取appsettings.json文件下的key Appsettings
之后,在controller或者bll 等业务层直接读取需要的配置即可,读取方法:
var a = AppSettings.AppSetting("HomeUrl");
如果需要读取多级嵌套的json,则使用冒号分隔多级
var a = AppSettings.AppSetting("ConnectionStrings:MasterDb");
如果是net core 控制台引用,因为控制台没有自动实现依赖注入,需要手动实现
实现方式如下,需要手动引入如下包:
Microsoft.Extensions.Configuration 、
Microsoft.Extensions.Configuration.FileExtensions 、
Microsoft.Extensions.Configuration.Json、
Microsoft.Extensions.DependencyInjection、
Microsoft.Extensions.Options、
Microsoft.Extensions.Options.ConfigurationExtensions、
var conf = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", false, true) .AddJsonFile("appsettings.Development.json", true, true) .Build(); //注入 IServiceCollection services = new ServiceCollection(); services.AddOptions(); AppSettings.SetAppSetting(conf.GetSection("Appsettings")); var a = AppSettings.AppSetting("HomeUrl");
2.2 封装类型转换工具
代码中经常会遇到 string与int ,等其他类型的基本转换,try,Convrt 都需要手动处理异常。
而该类库,则进一步封装
//格式转换 string a = "123"; int b = a.ToInt();//强制转换,如果字符串为null或者空,则int类型默认为0 int? c =a.ToIntOrNull();//可空转换,如果字符串为null或者空,则int类型默认为null
项目将会持续完善,敬请期待