使用Roslyn识别类是否为抽象类

3

我在这里搜索了,没有找到答案。

如何知道从 ClassDeclarationSyntax 中查询一个类是否是抽象类。

这是我的代码:

public override void VisitClassDeclaration(ClassDeclarationSyntax node)
{
    var className = node.Identifier.Text;
    var namespaceName = (node.Parent as NamespaceDeclarationSyntax)?.Name.ToString();
    var isAbastract = ??????
}

1
不是答案,而只是一个提示(因为我从未使用过Roslyn API):Modifiers属性应该包含您所需的内容。 - Camilo Terevinto
你是正确的。谢谢! - Hugo Jose
1个回答

9
我找到了答案。以下是代码:

public override void VisitClassDeclaration(ClassDeclarationSyntax node)
{
    var className = node.Identifier.Text;
    var namespaceName = (node.Parent as NamespaceDeclarationSyntax)?.Name.ToString();

    var isAbstract = node.Modifiers.Any(x => x.IsKind(SyntaxKind.AbstractKeyword));
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接