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)); }