예제 #1
0
        public static ClassDeclarationSyntax CreateWithInheritClassAndInterface(string classTypeName, string inheritClassTypeName, string interfaceTypeName)
        {
            if (classTypeName == null)
            {
                throw new ArgumentNullException(nameof(classTypeName));
            }

            if (inheritClassTypeName == null)
            {
                throw new ArgumentNullException(nameof(inheritClassTypeName));
            }

            if (interfaceTypeName == null)
            {
                throw new ArgumentNullException(nameof(interfaceTypeName));
            }

            return(SyntaxFactory.ClassDeclaration(classTypeName)
                   .AddModifiers(SyntaxTokenFactory.PublicKeyword())
                   .WithBaseList(SyntaxBaseListFactory.CreateTwoSimpleBaseTypes(inheritClassTypeName, interfaceTypeName)));
        }
예제 #2
0
        public static TypeArgumentListSyntax CreateWithTwoItems(
            string typeName1,
            string typeName2)
        {
            if (typeName1 == null)
            {
                throw new ArgumentNullException(nameof(typeName1));
            }

            if (typeName2 == null)
            {
                throw new ArgumentNullException(nameof(typeName2));
            }

            return(SyntaxFactory.TypeArgumentList(
                       SyntaxFactory.SeparatedList <TypeSyntax>(
                           new SyntaxNodeOrToken[]
            {
                SyntaxFactory.IdentifierName(typeName1),
                SyntaxTokenFactory.Comma(),
                SyntaxFactory.IdentifierName(typeName2),
            })));
        }
예제 #3
0
        public static ParameterListSyntax CreateWithTwoParameterItems(
            ParameterSyntax parameter1,
            ParameterSyntax parameter2)
        {
            if (parameter1 == null)
            {
                throw new ArgumentNullException(nameof(parameter1));
            }

            if (parameter2 == null)
            {
                throw new ArgumentNullException(nameof(parameter2));
            }

            return(SyntaxFactory.ParameterList(
                       SyntaxFactory.SeparatedList <ParameterSyntax>(
                           new SyntaxNodeOrToken[]
            {
                parameter1,
                SyntaxTokenFactory.Comma(),
                parameter2,
            })));
        }
예제 #4
0
        public static ArgumentListSyntax CreateWithTwoArgumentItems(
            ArgumentSyntax argument1,
            ArgumentSyntax argument2)
        {
            if (argument1 == null)
            {
                throw new ArgumentNullException(nameof(argument1));
            }

            if (argument2 == null)
            {
                throw new ArgumentNullException(nameof(argument2));
            }

            return(SyntaxFactory.ArgumentList(
                       SyntaxFactory.SeparatedList <ArgumentSyntax>(
                           new SyntaxNodeOrToken[]
            {
                argument1,
                SyntaxTokenFactory.Comma(),
                argument2,
            })));
        }
예제 #5
0
 public static AccessorDeclarationSyntax Get(bool withSemicolon = true)
 {
     return(withSemicolon
         ? SyntaxFactory.AccessorDeclaration(SyntaxKind.GetAccessorDeclaration).WithSemicolonToken(SyntaxTokenFactory.Semicolon())
         : SyntaxFactory.AccessorDeclaration(SyntaxKind.GetAccessorDeclaration));
 }
예제 #6
0
 public static SyntaxTokenList PrivateReadonlyKeyword(bool withTrailingSpace = true)
 {
     return(SyntaxFactory.TokenList(
                SyntaxTokenFactory.PrivateKeyword(),
                SyntaxTokenFactory.ReadOnlyKeyword(withTrailingSpace)));
 }