首页 > 编程语言 >.NET 程序员的调试神器-Dumpify

.NET 程序员的调试神器-Dumpify

时间:2023-09-14 17:16:05浏览次数:32  
标签:Dump package 程序员 var new NET 控制台 Dumpify

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();   

 

项目地址

https://github.com/MoaidHathot/Dumpify

 

标签:Dump,package,程序员,var,new,NET,控制台,Dumpify
From: https://www.cnblogs.com/youmingkuang/p/17702895.html

相关文章

  • 从好玩到好用:程序员用AI提效的那些事儿
    本片内容是【AI思维空间】ChatGPT纵横编程世界,点亮智慧火花的续作,主要记录组内开发小伙伴儿们在开发过程中的实际应用案例,记录典型案例,尽量不要和其他人重复,以解决开发过程中的实际问题为主,设计、方案、编码、测试、集成、部署等等;目的:贡献最佳实践,分享心得,共同成长!Prompt提问......
  • .NET Core创建API项目
    新建项目类型:ASP.NETCoreWebAPIWebAPI控制器通常应派生自ControllerBase而不是Controller。Controller派生自ControllerBase,并添加对视图的支持,因此它用于处理Web页面,而不是WebAPI请求。如果同一控制器必须支持视图和WebAPI,则派生自Controller。API接口返回......
  • C# 性能诊断工具 dotnet-counters 的使用
    创建.NET程序Dump的几种姿势下载dotnet-counters工具简介dotnet-counters是一个性能监视工具,用于初级运行状况监视和性能调查。它通过EventCounterAPI观察已发布的性能计数器值。例如,可以快速监视CUP使用情况或.NETCore应用程序中的异常率等指标安装通过nuget包安装:......
  • 核桃云监控:https://jk.htyun.net/
    今天给大家推荐一款非常好用的网站监测平台,也是我一直再用的,它就好比给自家的网站上雇了一个管家,它可以替我24小时不间断端的扫描网站,如果出现宕机,或者因为网络还是其他问题打不开时,系统会自动发送报警来提醒我,这样就节省了我的大部分时间,而我就不用时不时去自己去登录网站检查了,......
  • PentestGPT:A GPT-empowered penetration testing tool
    一、WhatisPentestGPT?PentestGPT是一种由大型语言模型(LLMs)赋能的渗透测试工具。它旨在自动化渗透测试过程。它基于ChatGPT构建,并以交互模式运行,以指导渗透测试人员在整体进展和具体操作上。GeneralDesignPentestGPT提供了一个统一的终端输入处理程序,并由三个主要组件支持:......
  • netcore请求json斜杠带空格导致请求报错
    我用netcore发布了一个webapi接口,个别电脑,同样的浏览器(谷歌),swagger调用接口的时候,它的json体会加空格,然后请求就会报错。这是控制器里的方法下图是请求输入: 下图是加了空格的请求内容,如红色框所示,带了空格 下图是报错的内容下图是正常请求的内容,可以返回想要的结果......
  • How to fix java.net.SocketException: Too many files open in tomcat
    NotmanyJavaprogrammersknowsthatsocketconnectionsaretreatedlikefilesandtheyusefiledescriptor,whichisalimitedresource.Differentoperatingsystemhasdifferentlimitsonnumberoffilehandlestheycanmanage.Oneof......
  • How to change the default keep-alive time-out value in Internet Explorer
    [b]SUMMARY:[/b]ThisarticledescribeshowtochangethedefaultHTTPkeep-alivevalueinMicrosoftInternetExplorer.WhenInternetExplorerestablishesapersistentHTTPconnectionwithaWebserver(byusingConnection:Keep-Alive......
  • .Net Core 真异步假异步
    异步的回调通过以上介绍,我们一定要记住一个知识点:异步需要回调机制。异步操作之所以能在执行结果完成之后继续执行下面程序完全归功于回调,这也是所有异步场景的核心所在,前到js的异步回调,后到cpu内核空间copy数据到用户空间完成通知等等异步场景,回调无处不在。说道回调大部分语言......
  • 为什么很多程序员 到了30来岁 就面临失业,这是真实存在的?
    前言最近老是能在某乎上看到这样的热点问题“35岁很多人会失业,究竟是危言耸听,还是真实存在的?”为什么会有这样的情况现在社会上有一种流行的说法,那就是在35岁左右的年龄段,许多人可能会面临失业的风险。这种说法是否夸大其词,或者确实是真实存在的情况呢?我们可以从以下几个方面来分......