如何使用内部 Roslyn 类?
How to use internal Roslyn classes?
在分析器中使用 Roslyn API 的正确方法是什么?
假设我需要从 context.Symbol 获取信息,它是一个字段。
所以很明显我可以将它转换为 IFieldSymbol 但我需要检查初始化文本。如何获取基础 SourceFieldSymbol 的属性?它是内部的!
反思? ;))))
不要那样做。
Roslyn 有一个很好的设计 public API 它应该能够做你需要的任何事情(编辑器级别除外)。
在这种特殊情况下,您应该使用 DeclaringSyntaxReferences
property。
一般来说,您可以使用 http://sourceroslyn.io/ 跟随内部 属性 的引用树并找到 public API.
在分析器中使用 Roslyn API 的正确方法是什么? 假设我需要从 context.Symbol 获取信息,它是一个字段。 所以很明显我可以将它转换为 IFieldSymbol 但我需要检查初始化文本。如何获取基础 SourceFieldSymbol 的属性?它是内部的!
反思? ;))))
不要那样做。
Roslyn 有一个很好的设计 public API 它应该能够做你需要的任何事情(编辑器级别除外)。
在这种特殊情况下,您应该使用 DeclaringSyntaxReferences
property。
一般来说,您可以使用 http://sourceroslyn.io/ 跟随内部 属性 的引用树并找到 public API.