一:背景
1. 讲故事
前些天在看 AOT的时候关注了下 源生成器,挺有意思的一个东西,今天写一篇文章简单的分享下。
二:源生成器探究之旅
1. 源生成器是什么
简单来说,源生成器是Roslyn编译器给程序员开的一道口子,在这个口子里可以塞入一些自定义的cs代码,让Roslyn编译器在编译代码的时候顺带给一起处理了,简单的说就是 夹带私货 ,但古话又说 师不顺路, 医不叩门,所以还是比较尴尬的,看一下官方给的图,图中的橙色区域就是夹带的私货。

有些朋友肯定好奇,这玩意有什么用?其实在AOT领域中,JsonSerializer 就使用了SourceGeneration 来给序列化的类型(WeatherForecast)生成元数据,参考代码如下:
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Weather
订阅专栏 解锁全文
1087

被折叠的 条评论
为什么被折叠?



