排序
告别 throw exception!为什么 Result 才是业务逻辑的正确选择
告别 throw exception!为什么 Result 才是业务逻辑的正确选择,引言:一个普遍存在的“坏味道” 如果你在C#项目中看到这样的代码,一定不会感到陌生: public User Login(string username, stri...
外观模式
外观模式,外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性...
开源一套.NET平台的Excel COM 组件二次封装库
开源一套.NET平台的Excel COM 组件二次封装库,还在为复杂的 Office COM 组件调用而头疼吗?MudTools.OfficeInterop 就是你想要的!这是一套针对 Microsoft Office 应用程序(包括 Excel、Word、...
用 Sidecar 容器为 .NET Core 应用做诊断和性能分析
用 Sidecar 容器为 .NET Core 应用做诊断和性能分析,在微服务架构和云原生应用广泛采用的今天,.NET Core 应用被越来越多地部署在 Kubernetes 集群中。然而,一旦这些应用出现性能瓶颈,仅靠传...
dotnet DirectX 通过可等待交换链降低输入渲染延迟
dotnet DirectX 通过可等待交换链降低输入渲染延迟,在 上一篇博客 和大家介绍了如何在控制台里面用裸 DirectX 做一个简单绘制折线笔迹的 D2D 应用。此时的 D2D 应用的笔迹延迟还只是能够追得上 ...
STA模型、同步上下文和多线程、异步调度
STA模型、同步上下文和多线程、异步调度,写过任何桌面应用,尤其是WinForm的朋友们应该见过,Main函数上放置了一个[STAThread]的Attribute。而且几乎所有的桌面应用框架,都是由同一个UI线程来...
表达式树(Expression)的执行、解释与创建
表达式树(Expression)的执行、解释与创建,前言:在这里不进行概念性描述,能看到这篇文章说明你已经知道如何使用表达式树 执行 这里需要说明下表达式树是表示代码的数据结构,并不是经过编译...
第19篇 Protocol Buffers 编译器生成proto文件
第19篇 Protocol Buffers 编译器生成proto文件,1.下载 Protocol Buffers 编译器(protoc) 前往 Protocol Buffers GitHub Releases 页面。在 'Assets' 下找到适合您系统的压缩文件,通常为 prot...
基于.NET的Windows窗体编程之WinForms打印
基于.NET的Windows窗体编程之WinForms打印,在当今互联网时代,大家都提倡无纸化绿色办公,如扫码,在线,小程序等,既提高了效率,又节约纸张,绿色环保,但在某些特定的场景与人群(如超市收银...
1、前言 2、概述
1、前言 2、概述,1.0 学习目标 了解Git基本概念 能够概述git工作流程 能够使用Git常用命令 熟悉Git代码托管服务 能够使用 Visual Studio/Rider/VSCode 操作git 1.1 需要的知识储备 linux 基本命...
Orleans – 1 .NET生态构建分布式系统的利器
Orleans - 1 .NET生态构建分布式系统的利器,在当今数字化时代,构建高效、可靠的分布式系统是许多企业和开发团队面临的挑战。微软的 Orleans 框架为解决这些挑战提供了一个强大而简单的解决方案...
国产化文档开发组件Spire.Office 10.10 全新发布!多项文档处理能力重磅升级
国产化文档开发组件Spire.Office 10.10 全新发布!多项文档处理能力重磅升级, 近日,知名国产化文档开发组件Spire.Office 同步更新 .NET和 Java 版本至10.10.0 !本次更新带来了多项全新功...













