Roslyn - 将字符串解析为MethodDeclarationSyntax

Pra*_*hta 5 roslyn

在Roslyn中是否有任何函数,通过它我可以将我的字符串解析为MethodDeclarationSyntax?

我有一个包含方法声明的文件,所以我正在将该文件内容读取为字符串,现在我想从该字符串创建一个Method.有什么建议?

Jas*_*ski 4

一种选择是将字符串解析为“C# 脚本”,这是允许顶级方法声明的 C# 实验版本。正在做:

var tree = SyntaxTree.ParseText("void Foo() {}", options: new ParseOptions(kind: SourceCodeKind.Script));
Run Code Online (Sandbox Code Playgroud)

为您提供一个有效的语法树,其中包含CompilationUnitSyntax单个方法声明。