2

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

这是课程

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; }
}

列表中的每个节点都应该有节、小节和幻灯片

4

3 回答 3

1

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

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,这将适合您。

于 2013-10-22T12:55:51.973 回答
0

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

var myList = new[]
{
    new { Section = new Section(), SubSection = new SubSection(), Slide = new Slide()}, 
    new { Section = new Section(), SubSection = new SubSection(), Slide = new Slide()}
}.ToList();
于 2013-10-22T13:09:14.800 回答
0

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

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

var customClasses = new List<CustomClass>();
于 2013-10-22T12:54:10.410 回答