private static NamespaceDeclarationSyntax GenerateNamespaceDeclaration <T>(
     CsBase csNamespace, IEnumerable <T> elements, IMultiCodeGenerator <T, MemberDeclarationSyntax> generator
     ) where T : CsBase => NamespaceDeclaration(
     ParseName(csNamespace.Name),
     default,
     default,
     List(elements.OrderBy(element => element.Name).SelectMany(generator.GenerateCode))
     ).WithLeadingTrivia(Comment(AutoGeneratedCommentText));
Exemple #2
0
 private static CompilationUnitSyntax GenerateCompilationUnit<T>(
     string csNamespace,
     IEnumerable<T> elements,
     IMultiCodeGenerator<T, MemberDeclarationSyntax> generator)
 {
     return CompilationUnit()
         .WithMembers(
             SingletonList<MemberDeclarationSyntax>(
                 NamespaceDeclaration(ParseName(csNamespace))
                     .WithMembers(List(elements.SelectMany(element => generator.GenerateCode(element))))
             ))
         .NormalizeWhitespace(elasticTrivia: true);
 }