是否有可能获得由已添加到作为元数据引用的汇编导出的类型的itypesymsymbol的集合?
我想检查可用于引用项目的类型
为每个元数据引用调用Compilation.GetAssemblyOrModuleSymbol()
,强制转换为IAssemblySymbol
,然后查看TypeNames
属性(返回字符串)
要获得每种类型的实际ITypeSymbol
s,请获取程序集的GlobalNamespace
,然后递归地爬行GetMembers()
(其中包括类型和嵌套名称空间)。您可以继承SymbolVisitor<IEnumerable<ITypeSymbol>>
来帮助递归(特别是对于嵌套类型)。