如何从用户定义的类创建List

时间:2013-10-22 12:46:07

标签: c#

大家好我是Stackoverflow的新手,所以忽略错误。我有不同的用户定义的类,具有多个属性。我想使用这些类创建一个List,需要使用系统定义数据类型而不是用户定义类... 以下是您可以更好地理解的代码。

以下是课程

public class Slide
{
    public string Name { get; set; }
    public bool IsChecked { get; set; }
}
//.........
public class SubSection
{
    public SubSection() 
    { 
        this.Composition = new ObservableCollection<object>();
    }
    public string Name { get; set; }
    public bool IsChecked { get; set; }
    public ObservableCollection<object> Composition { get; set; }

}
//................
public class Section
{
    public Section()
    {
        this.SubSections = new List<SubSection>();
    }
    public string Name { get; set; }
    public bool IsChecked { get; set; }
    public List<SubSection> SubSections { get; set; }
}

列表中的每个节点都应包含剖面,子剖面和幻灯片

3 个答案:

答案 0 :(得分:1)

我假设您需要一个列表,其中列表中的每个元素都包含您在问题中列出的每个类中的一个。您可以使用Tuples列表:

var mylist = new List<Tuple<Section, SubSection, Slide>>();
mylist.Add(Tuple.Create(new Section(), new SubSection(), new Slide());
mylist.Add(Tuple.Create(new Section(), new SubSection(), new Slide());
mylist.Add(Tuple.Create(new Section(), new SubSection(), new Slide());

元组是在.NET 4.5中引入的,所以只要你的日期至少为4.5,这对你有用。

答案 1 :(得分:0)

首先创建一个模型类,其中包含您要包含的所有数据,之后您可以创建该类的列表。

public class CustomClass
{
   public Section{get;set;}
   public SubSection{get;set;}
   public Slide{get;set;}
}

var customClasses = new List<CustomClass>();

答案 2 :(得分:0)

我同意Josh Smeaton对Tuples的回答,但为了好玩,我想知道你是否可以将匿名类型视为系统定义类型......?

var myList = new[]
{
    new { Section = new Section(), SubSection = new SubSection(), Slide = new Slide()}, 
    new { Section = new Section(), SubSection = new SubSection(), Slide = new Slide()}
}.ToList();