Возникла ошибка при отражении типа - C#
Формулировка задачи:
public class TW
{
[XmlAttribute]
public string Name;
[XmlArrayAttribute]
public P[] Parent;
public void ShowMe()
{
Console.WriteLine("{0}", Name);
foreach (P p in Parent)
p.ShowMe();
}
}
public class P
{
[XmlAttribute]
public string Name;
[XmlAttribute]
public string Text;
[XmlAttribute]
public string Type;
[XmlAttribute]
public string Path;
[XmlArrayAttribute]
public C[] Node;
public void ShowMe()
{
Console.WriteLine("{0} {1} {2} {3}", Name, Text, Type, Path);
foreach (C c in Node)
c.ShowMe();
}
}
public class C
{
[XmlAttribute]
public string Name;
[XmlAttribute]
public string Text;
public void ShowMe()
{
Console.WriteLine("{0} {1}",Name,Text);
}
}
[Serializable]
public class TP
{
[XmlAttribute]
public string Name;
[XmlAttribute]
public string Descr;
[XmlAttribute]
public TW TreeView;
public void ShowMe()
{
Console.WriteLine("{0} {1}", Name, Descr);
TreeView.ShowMe();
}
}
public class GUI
{
public GUI(XElement xe)
{
TP tp = new TP();
XmlSerializer serializer = new XmlSerializer(typeof(TP));
TextReader tr=new StringReader(xe.ToString());
tp=(TP)serializer.Deserialize(tr);
tp.ShowMe();
}
}
class Program
{
static void Main(string[] args)
{
GUI g=new GUI(XDocument.Load("1.xml").Element("TabPage"));
}
}Решение задачи: «Возникла ошибка при отражении типа»
textual
Листинг программы
<root> <TabPage Name="Bookin" Descr="Справочники"> <TreeView Name="Books"> <Parents> <Parent Name="Supp" Text="Поставка" Type="Book" Path=""> <Nodes> <Node Name="" Text="Поставщики" /> <Node Name="" Text="Контрагенты" /> </Nodes> </Parent> <Parent Name="Materials" Text="Материалы" Type="Book" Path=""> <Nodes> <Node Name="" Text="Сырье" /> <Node Name="" Text="Полуфабрикаты" /> </Nodes> </Parent> <Parent Name="FP" Text="Готовая продукция" Type="Book" Path=""> <Nodes> <Node Name="" Text="Основной" /> <Node Name="" Text="Основные материалы" /> <Node Name="" Text="Штрих-коды" /> </Nodes> </Parent> </Parents> </TreeView> </TabPage> </root>