private static SyntaxNodeOrToken[] GetGenericTypes(IEnumerable <Type> genericTypes) { var list = new List <SyntaxNodeOrToken>(); foreach (var genericType in genericTypes) { list.Add(TypeGenerator.Create(genericType)); list.Add(SyntaxFactory.Token(SyntaxKind.CommaToken)); } list.RemoveAt(list.Count - 1); return(list.ToArray()); }
internal static ParameterSyntax Create(Parameter parameter) { var parameterSyntax = Parameter(Identifier(parameter.Name)).WithType(TypeGenerator.Create(parameter.Type)); switch (parameter.Modifier) { case ParameterModifiers.Out: parameterSyntax = parameterSyntax.WithModifiers(TokenList(Token(SyntaxKind.OutKeyword))); break; case ParameterModifiers.Ref: parameterSyntax = parameterSyntax.WithModifiers(TokenList(Token(SyntaxKind.RefKeyword))); break; case ParameterModifiers.This: parameterSyntax = parameterSyntax.WithModifiers(TokenList(Token(SyntaxKind.ThisKeyword))); break; } return(parameterSyntax); }