示例#1
0
        private static async Task ConvertStringEmptyToEmptyStringLiteralAsync(RefactoringContext context, MemberAccessExpressionSyntax memberAccess)
        {
            if (ReplaceStringEmptyWithEmptyStringLiteralRefactoring.CanRefactor(memberAccess, await context.GetSemanticModelAsync().ConfigureAwait(false), context.CancellationToken))
            {
                context.RegisterRefactoring(
                    $"Replace '{memberAccess}' with \"\"",
                    cancellationToken =>
                {
                    return(ReplaceStringEmptyWithEmptyStringLiteralRefactoring.RefactorAsync(
                               context.Document,
                               memberAccess,
                               cancellationToken));
                });
            }
            else
            {
                memberAccess = (MemberAccessExpressionSyntax)memberAccess
                               .FirstAncestorOf(SyntaxKind.SimpleMemberAccessExpression);

                if (memberAccess != null)
                {
                    await ConvertStringEmptyToEmptyStringLiteralAsync(context, memberAccess).ConfigureAwait(false);
                }
            }
        }