You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Roslyn Syntax API生成C#代码:set访问器中value关键字的困惑

Roslyn Syntax API中set访问器value的正确用法

在C#里,value是set访问器的隐式参数名,并非语法层面的保留关键字,这就是你找不到SyntaxKind.ValueKeyword的原因:

  • 当你在set访问器内部使用value时,它本质是编译器自动注入的标识符,而非语法级别的关键字。因此你用IdentifierName("value")的写法完全正确,Roslyn会在语义分析阶段自动识别它作为set访问器的隐式参数。
  • 虽然value在set访问器语境下有特殊含义,但它不属于C#的保留关键字范畴——你甚至可以在其他代码上下文里将value用作普通变量名(只是这种写法不符合编码规范),这也是Roslyn没有为它单独定义SyntaxKind枚举值的核心原因。

你当前的代码实现是正确的,不需要尝试使用不存在的Token(SyntaxKind.ValueKeyword),继续沿用IdentifierName("value")即可。


内容的提问来源于stack exchange,提问作者sasquatch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:42:28