Использование Roslyn, я хотел бы определить, использует ли класс Linq.Как определить, использует ли класс Linq, используя Roslyn?
Предполагая, что некоторый код, как:
//...
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 или нет, и не хочу делать никакой дальнейшей обработки.
Я думаю, что вы можете захотеть найти соответствующие токены, и после того, как вы проанализировали файл, проверьте, существуют ли какие-либо (или минимальный набор) из них как токены – Aviatrix
Я использую что-то вроде http://stackoverflow.com/a/29336378/4415401, но это, похоже, не обнаруживает код linq, приведенный в приведенном выше примере. Понравился бы какой-нибудь рабочий (или что-то, что я могу сделать). – user1234554321