合集-SourceGenerators
摘要:介绍 源生成器是 C# 开发人员可以编写的一种新组件,允许执行两个主要操作: 检索表示正在编译的所有用户代码的编译对象。 可以检查此对象,并且可以编写适用于正在编译的代码的语法和语义模型的代码,就像现在使用分析器一样。 生成可在编译过程中添加到编译对象的 C# 源文件。 也就是说,在编译代码时,可以
阅读全文
摘要:前面我们用ISourceGenerator来实现代码生成。但是在官方的介绍中有这么一个警告:Warning: Source generators implementing ISourceGenerator have been deprecated in favor of incremental ge
阅读全文
摘要:前面我们使用了IIncrementalGenerator来生成代码,接下来我们来详细了解下IIncrementalGenerator的核心部分IncrementalValueProvider。 介绍 IncrementalValueProvider是基于管道的模式,将我们需要的数据进行处理转换后传递
阅读全文
摘要:前面学习了一些Source Generators的基础只是,接下来就来实践一下,用这个来生成我们所需要的代码。 本文将通过读取swagger.json的内容,解析并生成对应的请求响应类的代码。 创建项目 首先还是先创建两个项目,一个控制台程序,一个类库。 添加swagger文件 在控制台程序中添加F
阅读全文
摘要:上一篇文章学习了通过获取和解析swagger.json的内容,来生成API的请求响应类。 但是其中无法移动与编辑。 那么本文将介绍如何输出生成的文件。 EmitCompilerGeneratedFiles 在控制台程序中,的PropertyGroup添加true 再次编译,文件将会输出到obj/De
阅读全文
摘要:前面我们简单的实现了一个从swagger生成实体类的Generator,在实际使用中,通过nuget包引用使用会更方便,那么本篇文章将介绍如何将Generator打包成Nuget来使用。 打包Nuget 这里我们将GenerateClassFromSwagger.Analysis打包成Nuget进行
阅读全文
摘要:前面的文章我们都初步学习了Source Generators的使用方式以及做了一些简单的代码生成工具。 但是Source Generators除了做自动代码生成之外,还能有别的应用场景,本文来了解一下Source Generators的应用场景。 介绍 Source Generators(源代码生成
阅读全文
