我有以下.net小提琴代码,想知道是否有人可以向我正确地指出为什么我不能在Linq查询中使用嵌套的Type.Number或Type.Description定义。我做错了什么,但不知道是什么。 Tnx。
public class Program
{
public static void Main()
{
string xml = @"<?xml version='1.0'?>
<class number='1'>
<catch>English</catch>
<type number='1'>
<catch>data</catch>
</type>
<section number='1'>
<catch>data</catch>
</section>
</class>";
XElement element= XElement.Parse(xml);
List<Class> Classes = ( from t in element.Descendants("class")
select new Class()
{
Type.Number = t.Element("type").Attribute("number").Value,
Type.Description = t.Element("catch").Value,
Section.Number = t.Element("class").Attribute("number").Value,
Section.Description = t.Element("catch").Value,
}).ToList();
}
}
public class Class
{
public ClassType Type { get; set; }
public Class()
{
Type = new ClassType();
Section = new ClassType();
}
}
public class ClassType
{
public string Number { get; set; }
public string Description { get; set; }
}
答案 0 :(得分:0)
您可能需要这样的东西:
.Select(c =>
{
var cl = new Class();
cl.Type.Number = ...;
return cl;
}