4

リファクタリングを行うために、CSharp ファイルの解析に NRefactory 5 の使用を開始したいと思います。しかし、ドキュメントはほとんどありません。だから私は試してみましたが失敗しました: AstNodecs ファイルからツリーを取得できるかどうかを確認するために、次のコードから始めました。

解析によっていくつかのノードが生成されることを期待していますが、そうではありません。誰かが私を案内できますか?

TextReader reader = File.OpenText(fname);
CompilationUnit compilationUnit;

CSharpParser parser = new CSharpParser();
compilationUnit = parser.Parse(reader, fname);
AstNode node = compilationUnit.GetNextNode();
System.Collections.Generic.IEnumerable<AstNode> desc = 
    compilationUnit.Descendants;
foreach (AstNode jo in desc)
{
    System.Console.WriteLine("At least something here");
}
4

2 に答える 2

2

ICSharpCode.NRefactory.DemoNRefactory ソースコードのプロジェクトを見てみましょう。コードを解析し、構文ツリーを TreeView に表示できます。

投稿したコードは実際にいくつかのノードを生成する必要があります -compilationUnit.Children直接の子 (通常は using と名前空間宣言) が含まれます。

また、CodeProject の記事もあります。

于 2012-06-16T20:36:33.600 に答える