昨日からの続きでメモ。アセンブリのクラスやメソッドのコメントがとれないかと画策したが、結局XMLドキュメントを作ってreflectionを使ってアセンブリを読んでマッピングしないといけないみたい。で、これはC#のソースを読んでツリー化できるライブラリ。
https://github.com/icsharpcode/NRefactory
ツリー化するのはこれでいいみたいだ。
1 2 3 | var code = File.ReadAllText(@"Test.cs"); var parser = new CSharpParser(); SyntaxTree root = parser.Parse(code, ""); |
こちらが参考になった。
neue cc – とあるRoslynではないC# Parser、NRefactoryの紹介
インターフェースやクラスの定義もメソッドやプロパティもそしてそれに付随するコメントもちゃんとツリーになってた。
よし、あとはインターフェースだけごにょごにょして。。。ちなみに、Fisshplateは手軽で軽いし良かったのだけど、ちゃんと吐けないからCOMでやることにします。
コメント
[…] C#のソースコードを読んで仕様書を作ろうの続きです。適当なコードをツリー化してみます。使うのはNRefactory_Demoに含まれているデモプログラムです。 […]