コード例 #1
0
 private static CodeAction CreateCodeAction(CodeFixContext context, BinaryExpressionSyntax binaryExpression, StringComparison stringComparison)
 {
     return(CodeAction.Create(
                GetTitle(stringComparison),
                cancellationToken => UseStringComparisonRefactoring.RefactorAsync(context.Document, binaryExpression, stringComparison, cancellationToken),
                GetEquivalenceKey(DiagnosticIdentifiers.UseStringComparison, stringComparison.ToString())));
 }
コード例 #2
0
 private static CodeAction CreateCodeAction(CodeFixContext context, InvocationExpressionSyntax invocation, StringComparison stringComparison)
 {
     return(CodeAction.Create(
                GetTitle(stringComparison),
                cancellationToken => UseStringComparisonRefactoring.RefactorAsync(context.Document, invocation, stringComparison, cancellationToken),
                DiagnosticIdentifiers.UseStringComparison + stringComparison + EquivalenceKeySuffix));
 }
コード例 #3
0
        private bool RegisterCodeFix(
            CodeFixContext context,
            Diagnostic diagnostic,
            SimpleMemberInvocationExpressionInfo invocationInfo,
            INamedTypeSymbol comparisonSymbol,
            string comparisonName)
        {
            if (!comparisonSymbol.ContainsMember <IFieldSymbol>(comparisonName))
            {
                return(false);
            }

            CodeAction codeAction = CodeAction.Create(
                GetTitle(comparisonName),
                cancellationToken => UseStringComparisonRefactoring.RefactorAsync(context.Document, invocationInfo, comparisonName, cancellationToken),
                GetEquivalenceKey(DiagnosticIdentifiers.UseStringComparison, comparisonName));

            context.RegisterCodeFix(codeAction, diagnostic);
            return(true);
        }
コード例 #4
0
        private static bool RegisterCodeFix(
            CodeFixContext context,
            Diagnostic diagnostic,
            BinaryExpressionSyntax binaryExpression,
            INamedTypeSymbol comparisonSymbol,
            string comparisonName)
        {
            if (!comparisonSymbol.ExistsField(comparisonName))
            {
                return(false);
            }

            CodeAction codeAction = CodeAction.Create(
                GetTitle(comparisonName),
                cancellationToken => UseStringComparisonRefactoring.RefactorAsync(context.Document, binaryExpression, comparisonName, cancellationToken),
                GetEquivalenceKey(DiagnosticIdentifiers.UseStringComparison, comparisonName));

            context.RegisterCodeFix(codeAction, diagnostic);
            return(true);
        }