2017-11-08 1 views
0

質問はこれです:クラスAAAが使用する : "DDD、CCC、BBB"Roslynで別のクラスで使用されているすべてのクラスとインターフェイスを取得しますか?

はどのようにすることができ

namespace TestSln 
{ 
    public class AAA 
    { 
     private DDD x; 

     private void func(CCC z) 
     { 
      BBB b = new BBB(); 
      b.z(); 
     } 
    } 
} 

私が探している出力はこれです:私はいくつかのソースファイルを持っていますRoslynとこれを達成する?

P.S.私はソリューション全体を読んで、このソースファイルで参照されているクラスのすべてのプロジェクトを検索できるようにしたい。

答えて

0

自分でSyntaxWalkerを作成し、のすべてのノードについてSemanticModelGetSymbol()と電話してください。それぞれのシンボルをSet<ISymbol>に追加するだけで、完全なリストを収集することができます。

関連する問題