Для вещи, как это я использую roslynquoter. Он генерирует вызовы roslyn из кода C#. В вашем случае она возвращает что-то вроде этого:
SyntaxFactory
.UsingStatement(SyntaxFactory.Block()/* the code inside the using block */)
.WithDeclaration(SyntaxFactory
.VariableDeclaration(SyntaxFactory.IdentifierName("var"))
.WithVariables(SyntaxFactory.SingletonSeparatedList(SyntaxFactory
.VariableDeclarator(SyntaxFactory.Identifier("logger"))
.WithInitializer(SyntaxFactory.EqualsValueClause(SyntaxFactory
.ObjectCreationExpression(SyntaxFactory.IdentifierName(@"MethodLogger"))
.WithArgumentList(/* arguments for MethodLogger ctor */)))
Людей, это мог бы избавил меня * так * много времени, когда я работал на какой-то Рослины вещи ... – Rawling
Спасибо за RoslynQuoter – Serg046