Appearance
术语与 API 手册
这份手册现在改成“索引页 + 分册正文”的结构。
原因很简单:
- 术语条目已经很多
- 不同读者的查阅路径完全不同
- 把所有对象都塞进一个文件,后续维护和跳转都会越来越差
如果你是第一次查对象,先从这个索引页判断“我应该进哪一册”;如果你已经知道对象名,直接跳到对应分册即可。
怎么使用这份手册
第一种用法:按学习阶段查
- 🟢 第一阶段必学
- 生成器骨架
- 固定输出
- 输出上下文
- 🟡 第二阶段必学
- 特性筛选
- 语法与语义
- 类型和属性信息
- 🔴 进阶参考
- 编译和测试
- 驱动运行结果和步骤跟踪
- AdditionalFiles、配置、诊断、文本对象
第二种用法:按问题查
| 你现在想查什么 | 去哪里 |
|---|---|
| 生成器入口、初始化和输出 | terms/01-entry-and-output.md |
| 语法筛选、语义分析、上下文对象 | terms/02-syntax-and-semantics.md |
| 类、属性、类型、编译对象 | terms/03-symbols-and-types.md |
| 特性参数、泛型约束、嵌套类型 | terms/04-attributes-and-generics.md |
| 测试里怎么建编译、补引用、跑驱动 | terms/05-compilation-and-testing.md |
| 如何看运行结果、跟踪步骤、理解增量组合 | terms/06-driver-and-tracking.md |
| 如何读附加文件、配置、诊断、源码文本 | terms/07-additional-files-config-diagnostics.md |
分册目录
🟢 第一阶段必学
- 入口与输出
[Generator]IIncrementalGeneratorIncrementalGeneratorInitializationContextRegisterPostInitializationOutput(...)SourceProductionContextAddSource(...)RegisterSourceOutput(...)
🟡 第二阶段必学
SyntaxNodeClassDeclarationSyntaxSyntaxProviderForAttributeWithMetadataName(...)CreateSyntaxProvider(...)GeneratorAttributeSyntaxContextGeneratorSyntaxContextSemanticModel
INamedTypeSymbolIPropertySymbolITypeSymbolAccessibilityNullableAnnotationSpecialTypeCompilationGlobalNamespaceCompilationProvider
AttributeDataAttributeClassConstructorArgumentsNamedArgumentsITypeParameterSymbolTypeParametersContainingType
🔴 进阶参考
CSharpSyntaxTree.ParseText(...)CSharpCompilation.Create(...)CSharpGeneratorDriver.Create(...)MetadataReferenceRunGeneratorsAndUpdateCompilation(...)DiagnosticSeveritySyntaxTree.FilePathNormalizeWhitespace()
GeneratorDriverGetRunResult()GeneratorDriverRunResultGeneratorRunResultGeneratedSourceResultIncrementalValuesProvider<T>Collect(...)Combine(...)WithComparer(...)WithTrackingName(...)GeneratorDriverOptionsIncrementalGeneratorRunStepIncrementalStepRunReason
AdditionalTextsProviderAdditionalTextAnalyzerConfigOptionsProviderAnalyzerConfigOptionsDiagnosticDescriptorDiagnosticLocationReportDiagnostic(...)SourceTextSourceText.From(...)CancellationToken
最常用的回查顺序
如果你刚学到第 12 章
建议配合这些扩展专题一起看:
- advanced/01-driver-run-result.md
- advanced/02-incremental-tracking.md
- advanced/03-additional-files-and-config.md
- advanced/04-diagnostics-sourcetext-and-syntax-provider.md