Пример #1
0
        public static LocalDeclarationStatementSyntax DeclareLocalVariable(Type variableType, string name,
                                                                           ExpressionSyntax initValue = null,
                                                                           VariableDeclarationType variableDeclarationType = VariableDeclarationType.ExplicitType)
        {
            VariableDeclaratorSyntax varDeclarator = SyntaxFactory.VariableDeclarator(SyntaxFactory.Identifier(name));

            if (variableType.IsVsArrayType())
            {
                ObjectCreationExpressionSyntax exp = SyntaxFactory.ObjectCreationExpression(variableType.ToTypeSyntax())
                                                     .WithArgumentList(SyntaxFactory.ArgumentList());
                varDeclarator = varDeclarator.WithInitializer(SyntaxFactory.EqualsValueClause(exp));
            }
            else if (initValue != null)
            {
                varDeclarator = varDeclarator.WithInitializer(SyntaxFactory.EqualsValueClause(initValue));
            }

            VariableDeclarationSyntax varDeclaration = variableDeclarationType == VariableDeclarationType.InferredType
                ? SyntaxFactory.VariableDeclaration(SyntaxFactory.IdentifierName("var"))
                : SyntaxFactory.VariableDeclaration(variableType.ToTypeSyntax());

            varDeclaration = varDeclaration.WithVariables(SyntaxFactory.SingletonSeparatedList(varDeclarator));

            return(SyntaxFactory.LocalDeclarationStatement(varDeclaration));
        }
        public static LocalDeclarationStatementSyntax DeclareLocalVariable(string typeName, string variableName,
                                                                           ExpressionSyntax initValue = null,
                                                                           VariableDeclarationType variableDeclarationType = VariableDeclarationType.ExplicitType)
        {
            VariableDeclaratorSyntax varDeclarator = SyntaxFactory.VariableDeclarator(SyntaxFactory.Identifier(variableName));

            if (initValue != null)
            {
                varDeclarator = varDeclarator.WithInitializer(SyntaxFactory.EqualsValueClause(initValue));
            }

            VariableDeclarationSyntax varDeclaration = variableDeclarationType == VariableDeclarationType.InferredType
                ? SyntaxFactory.VariableDeclaration(SyntaxFactory.IdentifierName("var"))
                : SyntaxFactory.VariableDeclaration(SyntaxFactory.IdentifierName(typeName));

            varDeclaration = varDeclaration.WithVariables(SyntaxFactory.SingletonSeparatedList(varDeclarator));

            return(SyntaxFactory.LocalDeclarationStatement(varDeclaration));
        }