Есть такие классы
private class Example
{
[Description("ThisAaaAtribute")]
public string aaa { get; set; }
[Description("ThixXxAtribute")]
public double xxx { get; set; }
[Description("ThisBbbClassAtribute")]
public Example2 bbb { get; set; }
}
private class Example2
{
[Description("ThisCccAtribute")]
public Example3 ccc { get; set; }
[Description("ThiszzzAtribute")]
public string zzz { get; set; }
[Description("ThisVvvAtribute")]
public string vvv { get; set; }
}
private class Example3
{
[Description("ThisxaSDAtribute")]
public Example4 asxa { get; set; }
[Description("ThisxaSDAtribute")]
public Example4 asdasd { get; set; }
}
private class Example4
{
[Description("ThisxaSDAtribute")]
public string qweqweqwe { get; set; }
}
Кодом получаю коллекцию Description, необходимо программно получить коллекцию вложенных List = 4, для List = 3 и тд, как это можно реализовать?
Не в курсе ваших классов, но, может вам нужно вот такое
public static int GetListHeight(List<Table> list)
{
if (list == null) return 0;
if (list.Count == 0) return 1;
return list.Max(l=>GetListHeight(l.Child)) + 1;
}
Вот так сделал поиск на самую длинную ветку дерева, может кто подскажет как сократить код?
public static int GetListHeight(List<Table> list, int index = 1)
{
if (list == null) return 0;
int height = index;
for (int i = 0; i < list.Count; i++)
{
if (list[i].Child != null)
{
int updIndex = index + 1;
var heightSubList = GetListHeight(list[i].Child, updIndex);
if (heightSubList > height)
{
height = heightSubList;
}
}
}
return height;
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Всем приветВозникла задача портировать одно моё приложение написанное на языке c# (на платформе
Пользуюсь Windows 7x64 UltimateХочу попробовать Jet Brains Rider но получаю постоянную ошибку при запуске постоянное зависание, причем на всех версиях Rider 2017-2018...