提到.NET的Source Generator,就不得不提及Fody,两者都是强大的.NET代码生成技术。这些代码生成技术是硬核技能,给开发者提供了制作语法糖的利器,在框架设计中被广泛使用,以下是两者的主要区别:
在使用以上两种方式生成代码时,踩了许多坑,特此写两篇技术文档做一个记录!本文结合实例先对Source Generator的用法进行介绍。
提到.NET的Source Generator,就不得不提及Fody,两者都是强大的.NET代码生成技术。这些代码生成技术是硬核技能,给开发者提供了制作语法糖的利器,在框架设计中被广泛使用,以下是两者的主要区别:
在使用以上两种方式生成代码时,踩了许多坑,特此写两篇技术文档做一个记录!本文结合实例先对Source Generator的用法进行介绍。
gRPC和RESTful API是两种流行的服务通信方案,相比RESTful API,gRPC性能更强、开发效率更高、跨语言支持更完善,在许多场景下得到应用。
本文对gRPC的整体情况做一个简要介绍,首先基于. NET 8来实现gRPC,最后介绍基于. NET Framework 4.8来实现和部署gRPC服务。
Extended.Wpf.Toolkit控件库是对WPF内置控件库的补充,提供了非常多的好用控件,可以帮助我们开发出交互性更强的桌面应用程序,是WPF程序开发的又一利器!
本文针对其中非常经典的几个控件做简要介绍,在后续项目中实际使用时可以更深入了解各控件用法。
前端技术日新月异,利用前端技术开发桌面应用程序是一个焦点话题,目前已有Electron这样的重量级框架,也诞生了Tauri这样的年轻充满朝气的框架。
本人更偏爱Tauri框架,本文结合一个小例子对该框架做简单介绍。
在WPF中,UI线程是比较特殊的线程,如何实现非UI线程对UI元素的修改是一个常见问题。
本文先介绍UI线程的基本知识,然后以实例方式介绍BackgroundWorker
的使用及其原理。
WPF/MVVM系列文章的前面几篇将焦点聚集在一个ViewModel
中,但在实际WPF项目中每一个窗体都对应一个ViewModel
,如何在多个ViewModel
之间传递数据是一个重要话题。本文介绍CommunityToolkit.MVVM
框架的事件机制。
面向切面编程(Aspect Oriented Programming, AOP)的概念非常简单,它把系统的一些非业务功能(如日志记录、性能监控、事务管理等)从业务代码中剥离出来定义成切面,再把这些切面作为对业务代码的增强。降低了非业务功能对业务代码的侵入,进一步降低了两者的耦合程度。