ファイルにあるすべての拡張メソッドをリストする必要があります。
これは私がこれまでに行っていることです(それが機能しているように見えます):
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はありますか?調べてみましたが、少なくとも明らかなものは見つかりませんでした。
最新のRoslynSept/12を使用しています