首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
如何在 .NET 的依赖注入配置中注册装饰器?
在本文中,我们将介绍几种不同的方法,以在 .NET 的依赖项注入配置中注册装饰器_(代理、包装器)。_此外,我们还将了解每个选项的优缺点。有时您可能希望在类之上实现包装器。这通常是为了扩展您正在包装的类的行为,并遵守开闭原则。例如,您有一个类:UsersRepositor...
3-12 16:19
70
通过实际示例了解 C# 中的 SOLID 原则
SOLID 原则是一组五项设计原则,旨在使软件设计更易于理解、灵活和易于维护。如果正确应用这些原则,可以产生干净而健壮的代码。在本文中,我们将深入探讨每个 SOLID 原则,并提供 C# 中的实际示例。单一责任原则 (SRP)单一责任原则指出,一个类应该只有一个改变的理...
3-12 16:14
99
C# 中的类型转换
揭开 C# 转换的神秘面纱:基础知识想象一下,在这样一个世界里,整数是王道,但有时,你需要浮点数的灵活性。这就是选角的用武之地。这是将数据从一种数据类型转换为另一种数据类型的艺术,就像为变量更换服装一样。在最简单的形式中,强制转换涉及显式告诉编译器您想要...
3-12 15:56
96
.NET 中的 3 个多线程示例
多线程似乎是我的听众非常感兴趣的东西。事实上,从一开始,我浏览次数最多的文章之一就是关于任务与线程的:软件面试问题:.NET 中的任务 VS 线程.NET 中的任务和线程有什么区别:初级到高级线程确实是软件工程师可以拥有的最重要的技能。这就是为什么在以后的文章中,...
3-12 15:53
56
C# 让后台服务变得更加容易。
几个月前,我写了一篇关于ASP.net 后台服务的文章。几天前,我把它展示给一位同事,他发现我的解决方案存在一些问题,这让我感到惊讶:我从控制器而不是业务层将工作发送到后台服务。我的解决方案不容易进行单元测试。我的解决方案不是通用的。所以我回到了绘图板,想出...
3-12 15:48
59
在 .NET 8 中使用 WireMock.NET 进行集成测试
在这篇文章中,我们将介绍如何创建和管理模拟 API,以便使用 WireMock.NET 进行集成测试。集成测试保证了软件系统内不同组件之间的无缝通信,并且识别并解决了任何潜在问题。这种测试方法对于验证我们的应用程序与内部和外部 API 之间的交互至关重要,确保遵守预定义的...
3-11 19:37
57
使用 ValueTask 异步操作的节省内存
在现代 C# 编程中,了解异步构造(如 和 )之间的细微差别对于优化内存使用率和应用程序性能至关重要。这个故事深入探讨了一个真实世界的场景,在这个场景中,使用可以节省大量内存。通过实际用例和基准分析,我们探讨了如何有效地处理异步操作,同时最大限度地减少内存...
3-8 8:5
91
快如进行快速 LINQ 查询:立即提升 C# 应用性能
LINQ 是语言集成查询的首字母缩写词,是 C# 中的一项强大功能,使开发人员能够使用既富有表现力又易于理解的语法对集合和数据库执行复杂的查询。然而,优化 LINQ 查询以提高效率对于确保最佳应用程序性能至关重要。本文深入探讨了在 C# 中增强 LINQ 查询性能的各种策略...
3-8 7:57
177
.NET 高级开发人员常见的20 个面试问题
作为一名经验丰富的 .NET 高级开发人员,浏览面试需要对关键概念和原则有深刻的理解。在这篇博文中,我们将探讨面向 .NET 高级开发人员的 20 大面试问题,并附有简明的答案和说明性代码示例。1. 抽象类与接口答:抽象类可以有实现,而接口不能。两者都支持抽象,但接口...
3-4 8:43
237
.NET Core 中使用静态类
深入了解 C# 和 .NET Core 的世界,让我们解开静态类内存分配的复杂性,这个概念是高效和优化软件开发的核心。通过这次探索,我们不仅将揭开静态类的内存分配如何工作的神秘面纱,还将揭开如何利用这些知识来编写更高效和可扩展的代码。通过实时用例和代码示例,准备提...
3-3 8:38
66
<<
<
…
48
49
50
51
52
53
54
55
56
57
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
2017
C#异步定时器:精准定期执行...
2019
WPF应用中融入ASP.NET Core...
1488
在C# .NET 8中使用MediatR实...
1173
延迟等待的艺术:C#中Task.D...
1083
WPF中轻松生成动态图表:实...
1155
C#屏幕截图:轻松捕获活动窗...
1094
.NET Core 中集成Dapper高级...
939
C#中轻松实现二维码和条形码...
888
串口通信利器:RJCP.DLL.Ser...
971
C#串口通讯实战:基础功能及...
932
C# 中的并发性:使用 Blocki...
801
解决WPF界面卡死等待问题:...
2030
.NET 性能分析:.NET 8 中的...
793
轻松上传:C#中HTTP POST mu...
1025
还在到处加异常日志记录?试...
811
ASP.NET 后端开发:全面的路...
675
WPF中轻松操控GIF动画:WpfA...
793
.net中OpenCVSharp+Zxing读...
762
.NET —ToList 和 ToArray ...
639
打造真实感十足的速度表盘:...
758
实现WPF多语言支持:简单灵...
752
C#中Task.Run怎么用?能解决...
737
精准数字处理:C#中四舍五入...
957
.NET 9中ToList 和 ToArray ...
578
在 .NET8 中通过 RabbitMQ实...
567
掌握ImageSharp:图像处理的...
687
轻松实现.NET应用自动更新:...
667
FluentFTP实战:轻松操控FTP...
660
解密C# Socket通信:克服粘...
655
Microsoft.Extensions.Loggi...
564
解密C#中允许HttpClient使用...
526
深入了解SOAPCore:在.NET 6...
633
C# 中的弱事件 — 如何避免...
507
.NET 中的 UUID 和 ULID:最...
500
MediatR让进程内通信如此简...
1720
WPF魔法:轻松实现依赖注入...
1718
WPF神器揭秘:一键截图,轻...
484
C#文件编码检测:轻松解析文...
488
深入理解WPF中的Dispatcher...
593
掌握System.Text.Json中的多...
586
WPF开发新境界:MVVM设计模...
580
使用OpenXML在.NET 6中导出E...
566
C# Socket通信:灵活传输DTO...
555
WPF大展示专业指南:轻松实...
642
ASP .NET Core 8+ 中的全局...
407
ASP.NET Core .NET 8 中间件...
400
.NET配置文件大揭秘:轻松读...
516
实用指南:C#中优雅更新GUI...
501
深入FileSystemWatcher:C#...
606