牛刀小试 Roslyn 之简易 Mapper 生成

作者:V君 发布于:2023-7-12 18:56 Wednesday 分类:挖坑经验

TL;DR [ 下载 ] [ 源代码 ]

用法:
 1. 下载 CodingCannon.7z.001 和 002 放在一起解压,运行 CodingCannon.exe
 F. 将要生成 mapper 的代码文件拖入窗口中,若代码文件有效,就会像下图那样得到代码
点击查看原图

故事时间

最近在给现有项目做扩容升级,后台服务全都换最新的 .NET 6.0 LTS ,但 Web 还停留在经典 framework 甚至没有前后端分离 :( ,尽管接下来要重建它,但不得不适配到新的中间件,新的模型实现,出现了许多需要映射 dto 的地方,由于想要编译时检查而不再使用 AutoMapper (Auto Mapper 不能很好的检查属性引用,容易写漏写错),那就写几行代码来生成“硬编码”Mapper。和过去的用正则提取标识符不同的是这次用上了 Roslyn 编译器中的 CodeAnalysis.CSharp 来实现代码解析,这样就不用纠结代属性定义有没有换行之类的低级问题。

废话时间

失踪人口出现了 \\(^∇^*), 这段时间在出差体验现场工作的 996 生活。 看来只要出现缺口就会整个坏掉, 之前的每个月刷一次存在感的原则就坏掉了, 从中招开始 _(:з)∠)_

标签: 软件开发 C# 编译原理

引用地址:

评论:

springwood
2023-07-17 05:12
最近在做 vue + flask 前后端,真是太爽了
V君
2023-07-17 20:49
@springwood:怎么不试试 blazor WASM, 在浏览器运行原生C#代码,不更香么(

发表评论:

Powered by emlog 去你妹的备案 sitemap