コード例 #1
0
        private SyntaxNode GetFixedStatement(StatementSyntax statementSyntax)
        {
            if (statementSyntax is BlockSyntax blockSyntax)
            {
                var fixedStatement = ThrowStatement(
                    ObjectCreationExpression(
                        IdentifierName(
                            nameof(NotImplementedException)
                            )
                        ).WithArgumentList(ArgumentList())
                    );

                var fixedBlock = blockSyntax.Statements.Insert(0, fixedStatement);

                return(blockSyntax.WithStatements(fixedBlock));
            }

            // statementSyntax.InsertNodesBefore()
            return(statementSyntax.InsertNodesBefore(
                       statementSyntax,
                       new[]
            {
                ThrowExpression(
                    ObjectCreationExpression(
                        IdentifierName(nameof(NotImplementedException))))
            }
                       ));
        }