https://mp.weixin.qq.com/s/rh_rQ5Q8TO3eaoUEdfUs-g

https://github.com/MoaidHathot/Dumpify

Dumpify 是一个使用 C# 开发的开源库,它通过向控制台应用程序添加 .Dump() 扩展方法来提高工作效率和可调试性。

可以 Dump 任何对象并以结构化且丰富多彩的方式输出到控制台、跟踪、调试事件。

支持属性、字段和非公共成员, 支持设置最大嵌套层数,支持循环依赖和引用,支持样式和定制,高度可配置。

如何使用?

使用 Nuget 安装 Dumpify。


dotnet add package Dumpify
Install-Package Dumpify

下面是一个简单的例子,我们使用了匿名类型。


using Dumpify;

var dot = new { 
    Name = "Dotnet 工具箱",
    Description = "这里是 Dotnet 工具箱" 
};

dot.Dump();

运行程序后,在控制台输出了对象信息:

图片

嵌套和循环引用支持


using Dumpify;  

var p1 = new Person {  
    Age = 30,
    Name = "张三"  
};

var p2 = new Person
{ 
    Age = 30,
    Name = "李四" 
};

p1.Friend = p2;
p2.Friend = p1;

p1.Dump();

控制台输出信息:

图片

支持数组、字典和集合


var arr = new[] { 1, 2, 3, 4 }.Dump();

图片



var arr2d = new int[,] { {1, 2}, {3, 4} }.Dump();

图片

有多个输出选项(控制台、跟踪、调试、文本)


var package = new { 
    Name = "Dotnet 工具箱", 
    Description = "这里是 Dotnet 工具箱" 
};

package.Dump();  
package.DumpDebug(); 
package.DumpTrace(); 
var text = package.DumpText();  

往期推荐:

功能强大,基于 .NET 实现的分布式锁

一行代码,监控 C# 方法执行耗时

Sejil - 开箱即用的 .NET 日志管理组件

CsGo - C#并发流程控制框架,单线程调度每秒100万次以上

C# 开发的高速 .NET 模板引擎

项目地址

https://github.com/MoaidHathot/Dumpify

文档更新时间: 2023-09-29 10:39   作者:admin