【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core

这篇具有很好参考价值的文章主要介绍了【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、项目介绍

2、集成方式

方法一:项目中通过Nuget包管理器安装导入

方法二:手动从Nuget官网下载,下载地址:

3、代码中导入命名空间

4、版本变更说明

1.0.7 版本

1.0.6 版本

1.0.5 版本

1.0.4 版本

5、演示示例

示例 1:使用string, object扩展进行类型转换

示例 2:使用this指针在任意类中打印日志

示例 3:创建Socket服务端与客户端通信


1、项目介绍

       Com.Gitusme.Net.Extensiones.Core 是一个 C#.Net 扩展库。当前最新 1.0.7 版本,使用方便快捷,能够减少代码量,提高编程效率。基于 .Net Standard 2.0 开发,支持 windows、linux、IOS 等多平台。

2、集成方式

方法一:项目中通过Nuget包管理器安装导入

       选择项目,右键菜单,打开 NuGet 程序包 管理,搜索 ”Com.Gitusme.Net.Extensiones.Core“ 关键字,安装最新版本。

      【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core,开源项目 专栏,c#,.net,microsoft

方法二:手动从Nuget官网下载,下载地址:

    https://www.nuget.org/packages/Com.Gitusme.Net.Extensiones.Core

3、代码中导入命名空间

        using Com.Gitusme.Net.Extensions.Core;

4、版本变更说明

  • 1.0.7 版本

    • 修复Sokcet套接字重大BUG,增强可靠性;
  • 1.0.6 版本

    • 新增Sokcet套接字扩展。简化Socket操作,支持自定义命令封装,使用方便快捷,让您聚焦业务实现,而不必关心底层逻辑,提高开发效率。详情请参考演示示例章节。

    • 日志功能增强。新版本支持日志的相关参数配置,默认文件路径为程序集所在目录,文件名: Com.Gitusme.Net.Extensiones.Core.Settings.xml

  • 1.0.5 版本

    • 新增日志记录功能,支持 DEBUG,INFO,WARN,ERROR 级别,默认日志输出路径为程序集所在同级Log文件夹。使用方法简单,在任意class中,通过 this 打印日志。详情请参考演示示例章节。
  • 1.0.4 版本

    •  新增 String,Object 类扩展,提供方便快捷的类型转换。详情请参考演示示例章节。

5、演示示例

示例 1:使用string, object扩展进行类型转换

           // Example 1: 判断string是否为null
            string str = null;
            if (str.IsNullOrEmpty())
            {
                System.Console.WriteLine("Example 1 输出结果:" + "null");
            }

            // Example 2: 判断string是否匹配正则
            string hello = "Hello, gitusme";
            var isMatch = hello.IsMatch(@"Hello, \w+");
            System.Console.WriteLine("Example 2 输出结果:" + isMatch);

            // Example 3: 将string转换为Json实体对象
            string json = "{\"Id\":0,\"Name\":\"Json Object\"}";
            var jsonObj = json.ToJsonObject<MyJsonObject>();
            System.Console.WriteLine("Example 3 输出结果:" + jsonObj.Name);

            // Example 4: 将string转换为Xml实体对象
            string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" id=\"0\">" +
                "<name>Xml Object</name>" +
                "</root>";
            var xmlObj = xml.ToXmlObject<MyXmlObject>();
            System.Console.WriteLine("Example 4 输出结果:" + xmlObj.Name);

            // Example 5: 将string转换为DateTime
            string date = "2023/10/22 21:32:00";
            var dateTime = date.ToDateTime();
            System.Console.WriteLine("Example 5 输出结果:" + dateTime.ToString());

            // Example 6: 将string转换为字符数组
            string gitusme = "gitusme";
            var array = gitusme.ToCharArray();
            System.Console.WriteLine("Example 6 输出结果:" + array);

            // Example 7: 将string转换为int32
            string intStr = "100";
            var intValue = intStr.ToInt32() + 10;
            System.Console.WriteLine("Example 7 输出结果:" + intValue);

            // Example 8: 将string转换为decimal
            string decimalStr = "3.141592653589793238462643383279502884197";
            var decimalValue = decimalStr.ToDecimal();
            System.Console.WriteLine("Example 8 输出结果:" + decimalValue);

            // Example 9: 将string转换为uri
            string uriStr = "https://github.com/gitusme/Com.Gitusme.Net.Extensiones";
            var uriValue = uriStr.ToUri();
            System.Console.WriteLine("Example 9 输出结果:" + uriValue.Host);

            // Example 10: 将string转换为color
            string colorStr = "#aabbcc";
            var colorValue = colorStr.ToColor();
            System.Console.WriteLine("Example 10 输出结果:" + colorValue);

运行结果:

      【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core,开源项目 专栏,c#,.net,microsoft

            // Example 1: 判断对象是否为null
            MyObject obj = null;
            if (obj.IsNull())
            {
                System.Console.WriteLine("Example 1 输出结果:" + "null");
            }

            // Example 2: 对象为null的时候,返回传入的默认值
            var def = obj.OrDefault(new MyObject());
            System.Console.WriteLine("Example 2 输出结果:" + def);

            // Example 3: 如果对象不为null,则执行传入的Action行为
            def.IfPresent((it) =>
            {
                System.Console.WriteLine("Example 3 输出结果:" + it.Name);
            });

            // Example 4: 将Xml对象转换为Xml文本
            var xmlObj = new MyXmlObject();
            string xml = xmlObj.ToXml();
            System.Console.WriteLine("Example 4 输出结果:" + xml);

            // Example 5: 将Json对象转换为Json文本
            var jsonObj = new MyJsonObject();
            string json = jsonObj.ToJson();
            System.Console.WriteLine("Example 5 输出结果:" + json);

运行结果:

      【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core,开源项目 专栏,c#,.net,microsoft

示例 2:使用this指针在任意类中打印日志

class MyServer
{
    public void Start(string arg1, string arg2)
    {
    this.Logi("MyServer", "Start:args={0},{1}", arg1, arg2);
    }

    public void Stop()
    {
    this.Logi("Stop.....");
    }
}

日志输出:
2023-11-04 18:25:16.158 [INFO] [00001] MyServer: Start:args=arg1,arg2
2023-11-04 18:25:16.261 [INFO] [00001] MyServer: Stop.....

示例 3:创建Socket服务端与客户端通信

服务端代码:

      【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core,开源项目 专栏,c#,.net,microsoft

客户端代码:

      【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core,开源项目 专栏,c#,.net,microsoft

运行结果:

      【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core,开源项目 专栏,c#,.net,microsoft

      如上示例,演示服务器和客户端的创建和请求应答交互,如需新增命令,可以从 AbstractCommand 派生实现自己的命令,通过CommandFactory来管理命令集。提供ServerSocketListener 和 ClientSocketListener 接口,分别监听服务器和客户端的生命周期。服务器使用 ServerSocketListener.OnAccepted(commandFilter, ISocketHander acceptHandler) 监听新的客户端连接,通过 acceptHandler 来操作客户端的消息交互。

可靠性验证:完美执行10000次Socket创建和收发数据,未出现异常。

      【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core,开源项目 专栏,c#,.net,microsoft

最后,感谢您能抽出宝贵的时间认真学习完本篇,实属不易。如果您有好的想法或建议,欢迎点赞加关注,收藏交流和探讨。

 文章来源地址https://www.toymoban.com/news/detail-755796.html

到了这里,关于【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本

    在经过1年多的深思,十几年的框架编写技术沉淀下,花了近一个月的时间,终于又为 .Net 及 .Net Core 的微服务系列框架贡献当中的一个重要组件。 https://github.com/cyq1162/Taurus.DTC   由于 CYQ.Data Orm 组件本身支持10多种数据库,因此提供的包,只根据消息队列的需要分拆提供。 默

    2024年02月02日
    浏览(69)
  • .NET开源IOC内置容器,生命周期管理与Autofac扩展

    大家好,我是行不更名,坐不改姓的宋晓刚,下面将带领大家从基础小白到高阶的.NET的IOC容器依赖与注入,以及IOC内置容器和生命周期,Autofac的学习,跟上我的步伐进入C#的世界。 微信:15319589104 QQ: 2981345658 文章内容: .NET依赖注入容器的生命周期管理,瞬时生命周期(

    2024年01月21日
    浏览(51)
  • 怎么启动.net core 项目

    要启动 .NET Core 项目,你需要先确保你的电脑上已经安装了 .NET Core 运行时。如果你还没有安装,请前往 https://dotnet.microsoft.com/download 下载并安装。 然后,你可以使用以下方法来启动你的 .NET Core 项目: 在命令行中进入你的项目文件夹,然后输入以下命令: 在 Visual Studio 中打

    2024年02月11日
    浏览(26)
  • 一个基于.NET Core开源、跨平台的仓储管理系统

    今天给大家推荐一个基于.NET Core开源、跨平台的仓储管理系统,数据库支持MSSQL/MySQL:ZEQP.WMS。 仓储管理系统(Warehouse Management System,WMS)是一种用于管理和控制仓库操作的软件系统,它可以帮助企业实现对仓库内物品的跟踪、存储、拣选、包装和发运等全过程管理,提高仓

    2024年02月21日
    浏览(179)
  • 开源:Taurus.Idempotent 分布式幂等性锁框架,支持 .Net 和 .Net Core 双系列版本

    分布式幂等性框架的作用是确保在分布式系统中的操作具有幂等性,即无论操作被重复执行多少次,最终的结果都是一致的。幂等性是指对同一操作的多次执行所产生的效果与仅执行一次的效果相同。 以下是分布式幂等性框架的主要作用: 避免重复操作: 在分布式系统中,

    2024年03月09日
    浏览(39)
  • 推荐一款基于 .NET Core开源的小程序商城系统

    由于疫情的缘故,很多商家都把线下的战场转移到线上了。而小程序就成为商家越来越看中的新战场,因为它能够帮助克服疫情对于经济的影响,开辟新的零售模式。今天就给大家推荐一款开源的小程序商城系统。 项目简介 这个是一个基于 .NET Core构建的简单、跨平台、模块

    2024年02月09日
    浏览(44)
  • 一个基于ASP.NET Core完全开源的CMS 解决方案

    MixCore CMS是一个基于.NET Core框架的开源内容管理系统(CMS),提供了丰富的的基础功能和插件,是一款面向未来的企业 Web  CMS ,可轻松构建任何类型的应用程序。集成了Google Analytics分析,以及友好的Seo功能,非常适合用于创建企业网站、内容系统、个人博客,也可以用于开发

    2024年02月05日
    浏览(83)
  • liunx系统发布.net core项目

    liunx系统:centos-7u6-x86_64 项目框架:.net6 没有wget命令,先安装wget 添加 Microsoft 包存储库,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 打开终端并运行以下命令: .NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。

    2024年04月11日
    浏览(44)
  • Taurus .Net Core 微服务开源框架:Admin 插件【3】 - 指标统计管理

    继上篇:Taurus .Net Core 微服务开源框架:Admin 插件【2】 - 系统环境信息管理 本篇继续介绍下一个内容: 界面图如下: 该页面默认呈现API访问次数的统计,由于要显示的数据列有点多,24小时,因此用了全屏显示。 同时提供快捷切换显示选项:昨天与今天。 如果需要查询其余

    2024年02月11日
    浏览(41)
  • Taurus .Net Core 微服务开源框架:Admin 插件【2】 - 系统环境信息管理

    继上篇:Taurus .Net Core 微服务开源框架:Admin 插件【1】 - 微服务节点管理 本篇继续介绍下一个内容:  基本信息如上图,重点的几个参数: 其它就不另外单独翻译了。 默认 NetCore 整体程序集加载的有点多,达100多个。 默认网关的应用程序的程序集是3个,其余全是公共运行

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包