Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
        }