Enum.Source.Generator 开源项目教程
1. 项目的目录结构及介绍
Enum.Source.Generator 项目的目录结构如下:
Enum.Source.Generator/
├── Enum.Source.Generator/
│ ├── EnumGenerator.cs
│ ├── EnumGeneratorOptions.cs
│ ├── EnumSourceGenerator.cs
│ ├── EnumSourceGenerator.csproj
│ └── Properties/
│ └── AssemblyInfo.cs
├── Enum.Source.Generator.Tests/
│ ├── EnumGeneratorTests.cs
│ ├── EnumSourceGeneratorTests.cs
│ ├── EnumSourceGeneratorTests.csproj
│ └── Properties/
│ └── AssemblyInfo.cs
├── .gitignore
├── Enum.Source.Generator.sln
└── README.md
目录结构介绍
Enum.Source.Generator/
:项目的主要代码目录,包含生成器的主要逻辑和配置。EnumGenerator.cs
:枚举生成器的主要逻辑。EnumGeneratorOptions.cs
:生成器的配置选项。EnumSourceGenerator.cs
:源代码生成器。EnumSourceGenerator.csproj
:项目文件。Properties/
:包含程序集信息。
Enum.Source.Generator.Tests/
:测试项目目录,包含项目的单元测试。EnumGeneratorTests.cs
:枚举生成器的测试。EnumSourceGeneratorTests.cs
:源代码生成器的测试。EnumSourceGeneratorTests.csproj
:测试项目文件。Properties/
:包含程序集信息。
.gitignore
:Git 忽略文件配置。Enum.Source.Generator.sln
:解决方案文件。README.md
:项目说明文档。
2. 项目的启动文件介绍
项目的启动文件是 EnumSourceGenerator.cs
,它包含了源代码生成器的主要逻辑。以下是该文件的主要内容:
[Generator]
public class EnumSourceGenerator : ISourceGenerator
{
public void Initialize(GeneratorInitializationContext context)
{
// 初始化逻辑
}
public void Execute(GeneratorExecutionContext context)
{
// 执行逻辑
}
}
启动文件介绍
Initialize
方法:用于初始化生成器,注册必要的分析器和操作。Execute
方法:用于执行生成逻辑,生成所需的枚举代码。
3. 项目的配置文件介绍
项目的配置文件是 EnumGeneratorOptions.cs
,它定义了生成器的配置选项。以下是该文件的主要内容:
public class EnumGeneratorOptions
{
public string EnumName { get; set; }
public List<string> Values { get; set; }
}
配置文件介绍
EnumName
:生成的枚举名称。Values
:枚举的值列表。
通过这些配置选项,可以灵活地定义生成的枚举的名称和值。