从零实现增量源生成器 · 第 6 / 17 篇
从入口方法看清主管线:生成器真正做了哪几步
入口方法不只是注册几个 API,它其实把整个生成器拆成了特性准备、目标发现、规格生成和源代码输出四个阶段。
理解生成器最好的切口之一,是直接从 Initialize 方法往下看。
当前主案例的入口虽然不长,但已经把主管线拆成四段:
RegisterPostInitializationOutputForAttributeWithMetadataNameGenerationSpecFactory.CreateRegisterSourceOutput
为什么入口层最值得先看
因为它决定了各阶段的责任边界。
如果入口层已经把职责拆清了,后面的扩展一般都还能收得住;如果入口层一开始就把发现、判断、输出揉在一起,后面每加一个条件都更难维护。
入口层真正提供的价值
不是“注册了几个 Roslyn API”,而是把整个问题拆成一条可观察的管线。只要这条管线清楚,调试、测试和演进都会更容易落地。
教程里很多细节都能回到这一点:入口方法决定的不是代码长度,而是结构质量。
教程导航
继续阅读
当前文章已经挂到教程顺序中,建议按相邻章节继续。