总结了一下写项目中遇到的各种方法,总结前辈们的经验,生成了该类库,引用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 = "";
int b = a.ToInt();//强制转换,如果字符串为null或者空,则int类型默认为0
int? c =a.ToIntOrNull();//可空转换,如果字符串为null或者空,则int类型默认为null

项目将会持续完善,敬请期待

C#通用公共类库ZXNetStandardDepot.Common的更多相关文章

  1. ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl

    ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库     源码下载Maticsoft.DBUtility.dll 数据访问类库组件     源码下载LtpPageC ...

  2. ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl (转)

    ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库     源码下载Maticsoft.DBUtility.dll 数据访问类库组件     源码下载LtpPageC ...

  3. C# - Lee 公共类库

    我的公共类库 using System; using System.IO; using System.Net; using System.Security.Cryptography; using Sy ...

  4. ThinkPHP 3.2公共类库、应用类库ThinkPHP/Library讲解

    一.ThinkPHP的类库主要包括公共类库和应用类库,都是基于命名空间进行定义和扩展的.只要按照规范定义,都可以实现自动加载.        公共类库 公共类库通常是指ThinkPHP/Library ...

  5. Java笔记-添加自定义公共类库

    大型项目,为了方便团队开发,需要建立公共类库,提高类库的重用性和维护性步骤如下: --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/387 ...

  6. 如何使用 TP中的公共函数 (定义在common/common.php中的函数)

    如何使用 TP中的公共函数 (定义在common/common.php中的函数) (2011-09-30 15:32:09) 转载▼ 标签: 杂谈   1.在common/common.php 中有个 ...

  7. 最长公共子串(Longest common substring)

    问题描述: 给定两个序列 X=<x1, x2, ..., xm>, Y<y1, y2, ..., yn>,求X和Y长度最长的公共子串.(子串中的字符要求连续) 这道题和最长公共 ...

  8. Webpack抽离第三方类库以及common解决方案

    前端构建场景有两种,一种是单页面构建,另一种是多入口构建多页面应用程序(我视野比较小,目前就知道这两种),下面我们针对这两种场景总结了几种抽离第三方类库以及公共文件的解决方案. 如果有哪些地方优化不周 ...

  9. 利用后缀数组(suffix array)求最长公共子串(longest common substring)

    摘要:本文讨论了最长公共子串的的相关算法的时间复杂度,然后在后缀数组的基础上提出了一个时间复杂度为o(n^2*logn),空间复杂度为o(n)的算法.该算法虽然不及动态规划和后缀树算法的复杂度低,但其 ...

随机推荐

  1. nRF52832 串口仅支持偶检验

    通常在使用串口时,我们习惯是不进行奇偶检验(even/odd parity),让应用层的软件自己检验即可.如果非要硬件校验时,以下是关于NRF52832的奇偶检验配置: // 52832 仅支持 ev ...

  2. vuejs cli3 env配置文件实践指南

    env文件 配置四个环境名字分别 VUE_APP_ENV=dev 只支持:VUE_APP_ 开头,比如设置其它变量 VUE_APP_NAME=stark package.json 配置 方式 &quo ...

  3. [BUAA软工]团队任务拆解

    团队任务分解 本次博客为项目alpha的任务拆解 WBS 任务估计 任务 时长(h) 语音模块:监听部分 5h 语音模块:消息处理:api 4h 语音模块:消息处理:内部数据结构 3h 语音模块:消息 ...

  4. JavaBitSet学习

    一.背景 之前公司项目需要对会员人群进行去重过滤,人群的维度是user_id: 因此采用了BitSet做简单的去重,方案将user_id作为bitset中的bit索引: 通过and\or\xor基础运 ...

  5. java中JSON转含泛型对象

    public static void main(String[] args) { UserDto userDto=new UserDto("test","14" ...

  6. 无法反序列化的java.util.ArrayList实例出来VALUE_STRING的(Can not deserialize instance of java.util.ArrayList out of VALUE_STRING)

    解决方法: 设置DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY.问题解决.

  7. npm install Error: EACCES: permission denied, mkdir

    今天研究Electron的时候,全局安装运行 npm install electron -g时侯,报下面的错误: Error: EACCES: permission denied, mkdir '/U ...

  8. 数据分析入门——pandas数据处理

    1,处理重复数据 使用duplicated检测重复的行,返回一个series,如果不是第一次出现,也就是有重复行的时候,则为True: 对应的,可以使用drop_duplicates来删除重复的行: ...

  9. [LeetCode] 844. Backspace String Compare 退格字符串比较

    Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...

  10. MySQL之表约束

    MySQL表约束 约束是一种限制,它通过对表的行或者列的数据做出限制,来确保表数据的完整性和唯一性. 在mysql当中一般有一下这几种约束: 非空约束. 唯一约束. 主键约束. 自增长. 默认约束. ...