Beispiel #1
0
        public override void Initialize(AnalysisContext context)
        {
            context.RegisterSyntaxNodeAction(
                c =>
            {
                LiteralExpressionSyntax literalNode = (LiteralExpressionSyntax)c.Node;

                if (!literalNode.IsPartOfStructuredTrivia() &&
                    !literalNode.Ancestors().Any(e =>
                                                 e.IsKind(SyntaxKind.VariableDeclarator) ||
                                                 e.IsKind(SyntaxKind.EnumDeclaration) ||
                                                 e.IsKind(SyntaxKind.Attribute)) &&
                    !Exceptions.Contains(literalNode.Token.Text))
                {
                    c.ReportDiagnostic(Diagnostic.Create(Rule, literalNode.GetLocation()));
                }
            },
                SyntaxKind.NumericLiteralExpression);
        }