如何创建SyntaxFactory.在Roslyn通过字符串使用声明
本文关键字:字符串 声明 Roslyn 何创建 创建 SyntaxFactory | 更新日期: 2023-09-27 18:11:43
我想通过Roslyn填充这种类型的using语句。
Using(var logger = new MethodLogger("someparam"))
{
}
我如何生成它…
我正在尝试这个SyntaxFactory。UsingStatement
对于这样的东西,我使用roslynquoter。它从c#代码中生成roslyn调用。对于您的情况,它返回如下内容:
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 */)))