小编Kim*_*gIn的帖子

从Roslyn中的行号获取节点

如何SyntaxNode根据行号获得?否则,如果它可以获得LineSpan该行号,那么到节点.

c# roslyn

5
推荐指数
2
解决办法
1528
查看次数

Roslyn:分析调用方法的对象

例如:

SqlCommand command = new SqlCommand();
SqlDataReader datareader = command.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)

这里的调用节点是command.ExecuteReader()。我如何使用 roslyncommand从调用节点获取变量标识符令牌/节点?假设这个调用节点在它之前可以有许多其他方法调用,例如classA.methodA().methodB().classB.methodC(command.ExecuteReader()),因此获取标识符node.DescendantNodes可能没有用。我想到的解决办法是获得的SpanStartExecuteReader第一,然后通过获得的符号遵循command通过调用SymbolFinder.FindSymbolAtPosition与位置ExecuteReader.SpanStart - 2。但是我不确定这个解决方案是否可以处理每一种情况。我正在开发的应用程序是一个静态代码分析器。

c# roslyn roslyn-code-analysis

3
推荐指数
1
解决办法
1633
查看次数

标签 统计

c# ×2

roslyn ×2

roslyn-code-analysis ×1