使用Roslyn确定类是否是抽象的

Hug*_*ose 3 c# roslyn

我在这里搜索过,我在这里找不到答案.

我怎么知道class是否是一个抽象类ClassDeclarationSyntax.

这是我的代码:

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

Hug*_*ose 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));
}
Run Code Online (Sandbox Code Playgroud)