5
ファイルにあるすべての拡張メソッドをリストする必要があります。Roslynで拡張メソッドを取得するには?
これは(それが働いているように見える)私はこれまでやっているものです:
var methods = nodes.OfType<MethodDeclarationSyntax>();
var extensionMethods = methods.Where(m =>
m.Modifiers.Any(t => t.Kind == SyntaxKind.StaticKeyword)
&& m.ParameterList.Parameters.Any(p =>
p.Modifiers.Any(pm => pm.Kind == SyntaxKind.ThisKeyword)));
私はこれが動作しているように見えるすべてのケースをテストすることができませんでしたにもかかわらず。 しかし、私はこの解決策に近づくためのより簡潔な方法があるのだろうかと思っていました。
IsExtensionやSyntaxKind.ExtensionMethodのようなものがありますか?私は見ましたが、少なくとも、明らかなものは何も見つかりませんでした。
私はあなたが構文レベルでこのレベルで作業している最新のロスリン9月/ 12
答えをありがとう、それは働いた。参照を追加することを避けるために自分のアプローチを使用できるかどうかは疑問でした。私はプロジェクトを可能な限り独立させたいと思っていました。ありがとう。 – eestein
ええ、参照を追加したくない場合は、あなたのアプローチは合理的なものだと思います。 – svick
それでは、ありがとう! – eestein