# Third-Party Code Elements Used
CQLinq source
This trend metric is written in CQLinq, C# LINQ over the NDepend code model. It ships with every new NDepend project: you can read it, adapt it, or use it as a starting point for your own custom rules.
// <TrendMetric Name="# Third-Party Code Elements Used" Unit="Code Elements" />
from elem in ThirdParty.CodeElements
where !(elem.IsField && elem.AsField.ParentType.IsEnumeration)
let users = elem.IsMethod ? elem.AsMethod.MethodsCallingMe.Cast<ICodeElement>() :
elem.IsField ? elem.AsField.MethodsUsingMe.Cast<ICodeElement>() :
elem.IsType ? elem.AsType.TypesUsingMe.Cast<ICodeElement>() :
elem.IsNamespace ? elem.AsNamespace.NamespacesUsingMe.Cast<ICodeElement>() :
elem.AsAssembly.AssembliesUsingMe.Cast<ICodeElement>()
select new { elem, users }
Open in the interactive Rules Explorer · All default rules
Trend Metrics / Third-Party Usage: all 6 items
- # Third-Party Assemblies Used
- # Third-Party Namespaces Used
- # Third-Party Types Used
- # Third-Party Methods Used
- # Third-Party Fields Used
- # Third-Party Code Elements Used