我使用以下代码从ISymbol
中检索所有构造函数的列表,我刚刚注意到没有显式构造函数的类显示零子节点。我的目标是找到实例化类的所有位置(我目前正在使用Microsoft.CodeAnalysis.FindSymbols.SymbolFinder.FindReferencesAsync
(。
有没有办法为自动实现的构造函数获取符号?如果没有,是否有其他方法可以找到实例化这些类的位置?
var ctors = dependant.DeclaringSyntaxReferences.SelectMany(
r => r.GetSyntax().ChildNodes().Where(
n => Microsoft.CodeAnalysis.CSharp.CSharpExtensions.Kind(n) == CSSyntaxKind.ConstructorDeclaration
|| Microsoft.CodeAnalysis.VisualBasic.VisualBasicExtensions.Kind(n) == VBSyntaxKind.ConstructorBlock));
我刚刚发现这完全符合我的预期。
INamedTypeSymbol.InstanceConstructors