【发布时间】:2015-07-26 19:06:14
【问题描述】:
使用 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,不想做任何进一步的处理。
【问题讨论】:
-
我认为您可能想要查找适当的令牌,并在解析文件后检查其中是否有任何(或最小集合)作为令牌存在
-
我正在使用 stackoverflow.com/a/29336378/4415401 之类的东西,但这似乎没有检测到上面示例中给出的 linq 代码。希望有一些工作(或我可以做的工作)sn-p。