Можно ли использовать для переноса запроса CQLinq на простой запрос C# LINQ?
Я создаю инструмент анализатора кода, используя NDepend API, и я хотел бы использовать запросы CQLinq.
Некоторые из них легко портировать. Например,
from m in Methods
where m.ILCyclomaticComplexity > 10
orderby m.ILCyclomaticComplexity descending
select new { m }
легко портируется на
using NDepend.CodeModel;
using NDepend.CodeQuery;
public List<IMethod> GetUnitTestFromType(ICodeBase codeBase)
{
var complexMethods = (from m in codeBase.Application.Methods
where m.ILCyclomaticComplexity > 10
orderby m.ILCyclomaticComplexity descending
select m).ToList();
return complexMethods;
}
Но я хотел бы использовать более мощные методы CQLinq, т.е. AllowNoMatch()
from t in codeBase.Application.Types
where t.Implement("System.IDisposable".AllowNoMatch())
select t;
На самом деле было бы здорово напрямую использовать запрос CQLinq. Как?
Я вижу, что существует пространство имен NDepend.CodeQuery с такими методами, как CreateQuery, Compile и Execute. Может ли кто-нибудь показать мне пример использования?
Спасибо!