Roslyn 分析器:类标记为部分

Posted

技术标签:

【中文标题】Roslyn 分析器:类标记为部分【英文标题】:Roslyn analyzer: Is class marked as partial 【发布时间】:2021-10-24 14:48:25 【问题描述】:

有没有办法在 Roslyn 分析器中找出类是否为 partialIMethodSymbol 中有一个 PartialImplementationPart,但 INamedTypeSymbol 没有类似的。

我正在编写一个源生成器,并且我只想在可能的情况下生成该类的第二部分(如果第一部分是部分的)。

【问题讨论】:

【参考方案1】:

您可以使用修饰符列表来检查该类是否是部分的。

var isPartial = classDeclaration.Modifiers
                                .Any(m => m.IsKind(SyntaxKind.PartialKeyword));

【讨论】:

以上是关于Roslyn 分析器:类标记为部分的主要内容,如果未能解决你的问题,请参考以下文章

Roslyn 如何获得一个类的引用

Roslyn:如何修复 RS2008 警告?

Roslyn - 如何用多个节点替换多个节点?

Roslyn:如何将多个项目的编译合并为 1 个单独的编译?

在 Roslyn 分析器/源生成器中,有啥方法可以区分直接和传递程序集引用

Roslyn 2.x CodeFix 实现了一个缺失的接口,委托给一个成员,VS 2017