​Silkier 1.0.3发布

原创
2020/02/25 20:13
阅读数 1.4K

Silkier    让你的C#代码更丝滑, 我们的目标是一行代码 点点点搞定一切。而不是输入分号然后 new 对象,对象初始化, 对象赋值 , 调用方法, 很费劲不是吗?比如 原来:

var client=new SSHClient();client.Connect("192.168.1.111","root","kissme");byte[] files=client.DownlaodFile("");client.Disconnect();var  obj=JsonConver.To<Obj>(  System.Text.Encoding.Default.GetString(files));

啰嗦?难搞?现在变了, 我们的目标是:

var  obj=builder.Create<SSHClient>("192.168.1.111","root","kissme")        .Connect()        .DownloadFile("file.txt")
        .ToJson<Obj>();

当然, 这只是目标, 但是目前还没有完全实现太多, 因为需要一大堆扩展方法. 

我们目前具有将数据库查询的DataReader直接 转换为  对象数组的方法, 比如ToList<DemoData> , 或者转为 元组的 方法, 比如ToTupleList<(int id,string name,int age)>() 。

用于与设备对接的大小端转换的 方法, 比如 int  转换为 4字节数据, 以及未来我们会加入3字节整型互转  等等。 

关于对象复用以及注入 , 我们加入了类似这种方法, 而不是原来的要创建一大堆东西才能实现, 

    services.AddObjectPool(() =>            {                return new SdkClient() { BaseURL = "http://10.1.1.52:8080" };            });

 

针对文件处理方面, 我们针对 FileInfo 扩展了 获取md5值 以及读取数据等, 这样方便 类似GetFiles 获得文件, 然后直接通过linq 一次性实现所有文件的md5 值 , 以及各种分组处理, 还可以 批量读取读写等, 便于一句话或者一个linq 表达式就能搞定一切。 

针对字符串方面, 我们增加了 一些 方便的方法, 比如 Right , Left  取字符串, ToTitleCase用来取得标题用的大小写。

针对 并行计算 和 分组并行计算, 我们也提供了简介的方法。 比如 

  ParallelPart.ForEach(lastINC.ToList(), 10, act =>                        {                        }

通过此方法, 你可以 lastINC讲 中的数据分成 10组, 每一组一个线程, 然后讲每个元素分别传递给act 用于处理处理。 

更多内容正在增加, 如果有兴趣,可以继续深入发掘, 同时可以访问我们的GitHub地址来访问 。 

我们的开源地址是 https://github.com/maikebing/Silkier

Nuget  https://www.nuget.org/packages?q=silkier

要注意的是, 这些 都已经在生产中使用了一部分扩展经久考验。所以, 可以尝试使用。 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部