public static string GetClassName(this TypeDeclarationSyntax declaration) { if (declaration == null) { throw new ArgumentNullException(nameof(declaration)); } var classIdentifierToken = declaration.ChildTokens().FirstOrDefault(n => n.Kind() == SyntaxKind.IdentifierToken); if (classIdentifierToken == default(SyntaxToken)) { throw new InvalidOperationException(Strings.NameExtractor_GetClassName_Could_not_find_type_identifier_); } return(classIdentifierToken.Text); }