CodeGeneration TemplateCodeGenerator C# code generation powered by string templates RoslynCodeGenerator C# code generation powered by Roslyn