Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Identify if class is abstract with Roslyn

Tags:

c#

roslyn

I've searched here I didn't find the answer here.

How can I know if class is a abstract class from a ClassDeclarationSyntax.

Here is my code:

public override void VisitClassDeclaration(ClassDeclarationSyntax node)
{
    var className = node.Identifier.Text;
    var namespaceName = (node.Parent as NamespaceDeclarationSyntax)?.Name.ToString();
    var isAbastract = ??????
}
like image 449
Hugo Jose Avatar asked Sep 16 '25 03:09

Hugo Jose


1 Answers

I've found the answer. here is the code:

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));
}
like image 165
Hugo Jose Avatar answered Sep 17 '25 18:09

Hugo Jose