![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DotNet
jiuzaizuotian2014
这个作者很懒,什么都没留下…
展开
-
Base64Url, IDataProtectionProvider
(一)Base64Url为了在url中对数据进行编码,不适合直接使用Base64编码,通常可以使用Base64Url编码,即替换掉+/=符号后的Base64码。原生的Base64编码解码可以利用Convert.ToBase64String()和Convert.FromBase64String()来完成。但是Convert类中没有直接转换为Base64Url的方法,以下的方法时可以的:(1)在Microsoft.AspNetCore.WebUtilities中存在类WebEncoders,可以实现原创 2021-05-20 17:19:35 · 225 阅读 · 0 评论 -
c#通过NPOI将集合数据输出到Excel
NPOI中输出数据的方式,直接上参考代码: IWorkbook workbook = new XSSFWorkbook();//对于xlsx格式,如果xls则不是这样的 ISheet sheet = workbook.CreateSheet(sheetName);//以下创建CellStyle ICreationHelper createHelper = workbook.GetCreationHelpe原创 2021-05-05 11:36:57 · 269 阅读 · 0 评论 -
.net中几种基本的对象间通信方式(直接调用、基本事件、delegate委托、EventBus)
对象间通信方式有多种,以下仅仅考虑最基本的几种方式:假设两个对象A和B需要通信,分三种情况考虑:(一)A和B互相持有对方的引用,此时通信最简单,都可以互相直接调用。(二)对象A直接持有对象B的引用,反过来B对象不持有A对象的引用(1)A对象可以直接使用B对象的方法和属性。(2)B对象不持有A对象的属性,则不能直接调用。此时对象B需要A配合完成某项工作,常常采用的方式:基本事件方式,委托持有,EventBus方式。 对于基本事件方式,即B中定义事件,A在获得B引用的时候就...原创 2021-05-05 09:43:50 · 671 阅读 · 0 评论 -
使用System.Component.DataAnnotations命名空间下的Validator类和ValidationContext及一系列特性对数据有效型进行验证
对于具体的某个类,其成员可以添加使用System.Component.DataAnnotations命名空间下一系列特性(如RequiredAttribute,MaxLengthAttribute,StringLengthAttribute,RangeAttribute等等),然后通过该命名空间下的ValiationContext和Validator类来对其进行验证,验证结果返回bool值,并将详细验证结果保存在List<ValidationResult>集合中。Validatio.原创 2020-10-01 23:11:44 · 421 阅读 · 0 评论 -
CommonServiceLocator/Microsoft.Practices.ServiceLocation的变化过程
CommonServiceLocator的类最主要的获取服务对对象的代码如下:TService ServiceLocator.Current.GetInstance<TService>()------------------------------------------------------------------------------------------------...原创 2020-04-18 11:23:58 · 2322 阅读 · 0 评论