示例#1
0
        private static SwitchSectionSyntax CreateNewSection(SwitchSectionSyntax section)
        {
            var expressionStatement = (ExpressionStatementSyntax)GetLastStatementBeforeBreakStatementOrDefault(section);

            var assignment = (AssignmentExpressionSyntax)expressionStatement.Expression;

            section = section.ReplaceNode(expressionStatement, ReturnStatement(assignment.Right).WithTriviaFrom(expressionStatement));

            return(section.RemoveStatement(GetStatements(section).Last()));
        }
            static SwitchSectionSyntax CreateNewSection(SwitchSectionSyntax section)
            {
                SyntaxList <StatementSyntax> statements = section.GetStatements();

                if (statements.Last().IsKind(SyntaxKind.ThrowStatement))
                {
                    return(section);
                }

                var expressionStatement = (ExpressionStatementSyntax)statements.LastButOne();

                var assignment = (AssignmentExpressionSyntax)expressionStatement.Expression;

                section = section.ReplaceNode(expressionStatement, ReturnStatement(assignment.Right).WithTriviaFrom(expressionStatement));

                return(section.RemoveStatement(section.GetStatements().Last()));
            }