Skip to content

重构源生成器:支持多生成模式(Dictionary/Compiled)、多通知模式、多依赖模式#33

Open
walterlv wants to merge 53 commits into
mainfrom
t/walterlv/generation-mode
Open

重构源生成器:支持多生成模式(Dictionary/Compiled)、多通知模式、多依赖模式#33
walterlv wants to merge 53 commits into
mainfrom
t/walterlv/generation-mode

Conversation

@walterlv
Copy link
Copy Markdown
Member

新增

  • GenerationMode — 两种生成模式:
    • Dictionary:运行时字典查找,支持动态 Key,WPF 绑定兼容(多类树,每个节点独立实现接口和 INotifyPropertyChanged
    • Compiled:编译时字面量,单类 + 显式接口实现,零分配,不可索引
  • NotificationMode — 三种通知模式:
    • InitOnly:无变更通知
    • CurrentCulturePropertyChanged:切换语言时通知
    • LocalizationItemPropertyChanged:逐项通知
  • DependencyMode — 两种依赖模式:
    • Library:引用库
    • NestedSource:自包含,将 LocalizedStringILocalizedStringProvider 等基础类型生成为内部类,零外部依赖
  • LocalizedString<T1..T8> 泛型格式化字符串,支持最多 8 个参数(之前最多只支持 4 个)

设计变化

  • 统一源生成器入口 LocalizationGenerator
  • SourceTextBuilder 全面替换旧的字符串模板,删除 6 个模板文件和 TemplateRegexes

@walterlv walterlv requested a review from lindexi May 24, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants