1
ロザリンAPIをアナライザーで使用する正しい方法は何ですか? 私はcontext.Symbolから情報を取得する必要があり、それがフィールドであるとします。 IFieldSymbolにキャストすることは明らかですが、初期化テキストを確認する必要があります。基礎となるSourceFieldSymbolのプロパティを取得する方法は?それは内部です!内部Roslynクラスの使い方は?
反射? ;)))))
ロザリンAPIをアナライザーで使用する正しい方法は何ですか? 私はcontext.Symbolから情報を取得する必要があり、それがフィールドであるとします。 IFieldSymbolにキャストすることは明らかですが、初期化テキストを確認する必要があります。基礎となるSourceFieldSymbolのプロパティを取得する方法は?それは内部です!内部Roslynクラスの使い方は?
反射? ;)))))
しないでください。
Roslynには、(エディタレベルでの作業を除いて)必要な作業を行うことができる適切な設計の公開APIがあります。
この場合、DeclaringSyntaxReferences
propertyを使用してください。
通常、http://source.roslyn.io/を使用して、内部プロパティへの参照ツリーに従い、パブリックAPIを見つけることができます。
ええ、私はAPIが良いと思っていましたが、フィールドのイニシャライザに到達する方法はありますか? –
申し訳ありません:)あなたは絶対にAPIデザインがとても良いです。私の場合、私は別のハンドラを使用する必要があります:context.RegisterSyntaxNodeAction(AnalyzeObjectInitializer、SyntaxKind.FieldDeclaration); fieldDeclaration.Declaration.Variables [n] .Initializerのようなものです –