如何通过字符串在 Roslyn 中创建 SyntaxFactory.UsingStatement
How to create SyntaxFactory.UsingStatement in Roslyn through string
我想通过 Roslyn 填充这种类型的 using 语句。
Using(var logger = new MethodLogger("someparam"))
{
}
如何生成它..
我正在尝试这个SyntaxFactory.UsingStatement
对于这样的东西,我使用 roslynquoter。它使用 C# 代码生成 roslyn 调用。对于你的情况,它 returns 是这样的:
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 */)))
我想通过 Roslyn 填充这种类型的 using 语句。
Using(var logger = new MethodLogger("someparam"))
{
}
如何生成它..
我正在尝试这个SyntaxFactory.UsingStatement
对于这样的东西,我使用 roslynquoter。它使用 C# 代码生成 roslyn 调用。对于你的情况,它 returns 是这样的:
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 */)))