У меня есть такая структура классов:
public class L3Message
{
public int Number { get; set; }
public string MessageName { get; set; }
public string Device { get; set; }
public string Time { get; set; }
public string ScramblingCode { get; set; }
public List<Parameter> Parameters { get; set; }
public L3Message()
{
Parameters = new List<Parameter>();
}
}
public class Parameter
{
public int numOfWhitespaces { get; set; }
public string ParameterName { get; set; }
public string ParameterValue { get; set; }
public Parameter Parent { get; set; }
public List<Parameter> SubParameters { get; set; }
public Parameter()
{
SubParameters = new List<Parameter>();
}
}
Итак, в качестве типа возврата из одного из моих методов у меня есть List
из L3Messages
(List<L3Message>
), и мне нужно отобразить этодо TreeView
в WinForms
(заполните TreeView
от этого List
).
РЕДАКТИРОВАТЬ: Обратите внимание, что дерево моих объектов может быть глубже, чем один уровень (потому что классПараметр имеет реквизит List (список объекта Parameter, такая же структура, как у корневого объекта параметра)), что означает рекурсию или что-то вроде.
EDIT2:
Вот изображение дерева, но это дерево создано из базы текстовых файлов на пробелах, поэтому здесь есть все параметры, в моем дереве мне нужен только один из списка объектов L3Message.
http://imageshack.us/photo/my-images/803/treeviewmessage.png/
EDIT3:
Я уверен, что мой TreeView должен быть примерно таким:
L3Message.Number: L3Message.MessageName
+L3Message.Time
+L3Message.Device
+L3Message.ScramblingCode
+L3Message.Parameters[0]
++Parameter.ParamaeterName: Parameter.ParameterValue
++ (same as above)
L3Message.Number: L3Message.MessageName
+L3Message.Time
+L3Message.Device
+L3Message.ScramblingCode
+L3Message.Parameters[0]
++Parameter.ParamaeterName: Parameter.ParameterValue (in this occasion Value is null )
+++SubParameter.ParameterName: SubParameter.ParameterValue
Что-то вроде этого
Если возможноЯ хотел бы, чтобы это было в отдельной теме.
Как мне этого добиться?