2016-04-27 11 views
1

ロザリンAPIをアナライザーで使用する正しい方法は何ですか? 私はcontext.Symbolから情報を取得する必要があり、それがフィールドであるとします。 IFieldSymbolにキャストすることは明らかですが、初期化テキストを確認する必要があります。基礎となるSourceFieldSymbolのプロパティを取得する方法は?それは内部です!内部Roslynクラスの使い方は?

反射? ;)))))

答えて

4

しないでください。
Roslynには、(エディタレベルでの作業を除いて)必要な作業を行うことができる適切な設計の公開APIがあります。

この場合、DeclaringSyntaxReferences propertyを使用してください。

通常、http://source.roslyn.io/を使用して、内部プロパティへの参照ツリーに従い、パブリックAPIを見つけることができます。

+0

ええ、私はAPIが良いと思っていましたが、フィールドのイニシャライザに到達する方法はありますか? –

+0

申し訳ありません:)あなたは絶対にAPIデザインがとても良いです。私の場合、私は別のハンドラを使用する必要があります:context.RegisterSyntaxNodeAction(AnalyzeObjectInitializer、SyntaxKind.FieldDeclaration); fieldDeclaration.Declaration.Variables [n] .Initializerのようなものです –

関連する問題