使用 Roslyn,我想检测一个类是否使用 Linq。
假设一些代码如下:
//...
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var lowNums =
from n in numbers
where n < 5
select n;
//...
还假设此代码不包含的文件 using System.Linq;
我希望能够检测到文件中有一个 linq 语句并(比如说)自动添加 using System.Linq
。我想检测 Linq 的查询或方法语法。
有没有一种方法可以使用 Roslyn 检测到这一点?我只想知道代码是否使用了 Linq,不想做任何进一步的处理。
最佳答案
给定一个语法树,你可以简单地搜索 SyntaxKind.QueryExpression
的节点或相关节点类型。
有关详细信息,请在 VS2015 中打开该文件并查看语法可视化工具以查看语法树的确切外观。
关于c# - 如何使用 Roslyn 检测一个类是否使用 Linq?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31640846/