Roslyn 分析器:是否将类标记为部分

问题描述 投票:0回答:2

有没有办法在 Roslyn 分析器中找出类是否为

partial
PartialImplementationPart
中有一个
IMethodSymbol
,但
INamedTypeSymbol
没有任何相似之处。

我正在写一个 Source Generator,我只想在可能的情况下生成课程的第二部分(如果第一部分是部分的)。

c# roslyn-code-analysis partial-classes csharp-source-generator
2个回答
7
投票

您可以使用修改器列表来检查类是否是部分的。

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

0
投票

如果您只能访问

ISymbol.Locations
,您也可以查看
ISymbol
- 不止一个位置是一个很好的指标,表明它是一个部分类。

© www.soinside.com 2019 - 2024. All rights reserved.