2013-10-13 19 views
4

Roslyn中是否有任何函數,通過它我可以將我的字符串解析爲MethodDeclarationSyntax?Roslyn - 將字符串解析爲MethodDeclarationSyntax

我有一個文件包含方法聲明,所以我正在閱讀該文件內容的字符串,現在我想從該字符串創建一個方法。有什麼建議麼?

+0

有各種'Syntax.Parse *'方法,但我找不到任何可以解析方法聲明的東西。 – svick

+0

yaa ...即使我不能.. –

回答

4

一種選擇是將您的字符串解析爲「C#Script」,這是C#的一個實驗版本,它允許頂級方法聲明。這樣做的:

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

爲您提供了包含一個方法聲明的CompilationUnitSyntax有效的語法樹。

+0

非常感謝你Jason ... –