問題タブ [roslyn-code-analysis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Roslyn でメソッドの実装を取得する
たとえば、実際のクラス型が実行時にのみ決定されるインターフェイス クラスを宣言し、VisualStudio を使用してメソッド呼び出しを右クリックし、[実装に移動] をクリックすると、インターフェイスを継承するクラスから 3 つの実装を見つけることができます。
Roslyn を使用して、メソッドの実装構文ノード/シンボルを取得するにはどうすればよいですか?
c# - Roslyn プロジェクト ドキュメントの読み込みに失敗する
Visual Studio Extension (VSIX) ソリューションでは、Roslyn を使用して現在のソリューションから特定のプロジェクトを読み込みます。
プロジェクト myProject は間違いなくロードされていますが、検査すると次のことがわかります。
それでも、Visual Studio では大量のドキュメントを見ることができます。
ソリューションを閉じて、別の TFS ブランチから同じソリューションを開くと、同じコードが返されます。
何か案は?
c# - Roslyn: メソッドを呼び出すオブジェクトの分析
例えば:
ここでの呼び出しノードはcommand.ExecuteReader()
. roslyn を使用しcommand
て、呼び出しノードからの変数識別子トークン/ノードを取得するにはどうすればよいですか? この呼び出しノードの前に他の多くのメソッド呼び出しがある可能性があると仮定すると、たとえばclassA.methodA().methodB().classB.methodC(command.ExecuteReader())
、識別子を取得するnode.DescendantNodes
ことは役に立たない可能性があります。私が考えた解決策は、最初に の SpanStart を取得し、次にの位置で呼び出してExecuteReader
のシンボルを取得することでした。ただし、このソリューションがすべての状況を処理できるかどうかはわかりません。私が取り組んでいるアプリケーションは、静的コード アナライザーです。command
SymbolFinder.FindSymbolAtPosition
ExecuteReader.SpanStart - 2
c# - Roslyn の AdhocWorkspace を使用して、プロジェクトとドキュメントでソリューションを永続化する方法は?
次のコードを使用して、プロジェクトと単純な cs ファイルを含む新しいソリューションを永続化しようとしましたが、何もディスクに保存されません。私は何か間違ったことをしていますか、それとも Roslyn はソリューション プロジェクトとファイルを生成するために使用するツールではありませんか?