У меня есть такая структура классов:
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
).
EDIT: Обратите внимание, что дерево моих объектов может быть глубже одного уровня (поскольку класс Parameter имеет свойство List ‹ Parmaeter > (Список объектов 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
Что-то подобное
Если возможно, я хотел бы это в отдельной теме.
Как я могу этого добиться?
L3Message
изParameter
, так как им будет легче управлять. На самом деле кажется, чтоL3Message
является частным случаемParameter
- person Tudor   schedule 01.04.2012L3Message
изParameter
? Если подумать, управлять вещами стало бы намного проще. - person Tudor   schedule 01.04.2012List<Parameter>
и имя, я думаю, это можно сделать. - person Tudor   schedule 02.04.2012