gpt4 book ai didi

c# - Roslyn SymbolFinder 将位置转换为语法节点

转载 作者:行者123 更新时间:2023-12-02 16:52:10 28 4
gpt4 key购买 nike

我正在使用 SymbolFinder 来查找对变量的所有引用。我想检查此字段是否分配到其定义之外。

var references = await SymbolFinder.FindReferencesAsync(equivalentSymbol, 
context.GetSolution(), cancellationToken);
//Reference is grouped by variable name
var reference = references.FirstOrDefault();

foreach (var location in reference.Locations)
{
//How Do I check if the reference is an assignment?
}

如何将位置转换为语法节点,然后检查该节点是否为赋值?

最佳答案

您可以使用FindNode()它接受 TextSpan

所以你的例子看起来像:

var node = location.SourceTree.GetRoot().FindNode(location.SourceSpan);

关于c# - Roslyn SymbolFinder 将位置转换为语法节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44167269/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com