【发布时间】:2015-10-27 17:32:46
【问题描述】:
使用 Roslyn/Microsoft.CodeAnalysis,我如何获取第三方类型的 ISymbol,即在不属于解决方案的引用程序集中定义的类型?
在我的特殊情况下,我正在寻找 JSON.NET 的 JObject,但实际上同样的问题对于像 StringBuilder 等 BCL 的东西也是有效的。
到目前为止,我提出的唯一想法是实现一个 CSharpSyntaxWalker,它会查找所有方法调用、属性访问和构造函数调用,检查它们是否是在我感兴趣的类型上创建的,如果是,则获取来自相应 SyntaxNode 的符号。 我现在要实现这个,但它看起来非常麻烦。我认为必须有更好的方法,但我的 google-fu 没有产生任何相关结果。
也许关于背景:我正在尝试用另一个类的用法替换 JObject 的用法。
【问题讨论】: