Рассмотрим следующий код:
namespace ConsoleApp1
{
class MyConsts
{
public const string Const1 = "const";
}
class MyAttr : Attribute
{
public string Prop { get; set; }
}
class MyClass
{
[MyAttr(Prop = MyConsts.Const1)]
public int Id { get; set; }
}
}
Я пишу запрос NDepend:
from t in Types
let depth0 = t.DepthOfIsUsedBy("ConsoleApp1.MyClass")
where depth0 >= 0 orderby depth0
select new { t, depth0 }
Я ожидаю, что NDepend вернет все типы, используемые MyClass (прямо и косвенно). К сожалению, NDepend не возвращает класс MyConsts, который используется throw [MyAttr (Prop = MyConsts.Const1)].
Есть ли обходной путь для получения всех используемых типов, включая типы, используемые в атрибутах?