相同类型对象内的对象列表?

时间:2012-12-05 15:26:46

标签: c# asp.net oop object

我有一个具有Part属性的对象。但有些部分是“父母”,有孩子的部分。这些子部件具有与父部件相同的属性(不是相同的属性值,只有具有自己值的相同属性)。

因此,对于每个Part对象,我想要一个子部件的list属性。我想要做的是创建一个Part Objects列表 - 如果它是父对象,则为Part对象中的每个子对象创建一个。

我的问题是......你能在对象中找到同一对象类型的对象列表吗? (这甚至有意义吗?)

简单示例:

public class Part
{
    private string _Part;
    private string _Description;
    private List<Part> _childParts = new List<Part>();
}

2 个答案:

答案 0 :(得分:5)

是的,你可以,它是所有树结构的基石。

例如:

class Part {
   public List<Part> Children { get; set; }
   public Part Parent { get; set; }
}

完全有效。

答案 1 :(得分:3)

我认为你需要实现复合模式:https://en.wikipedia.org/wiki/Composite_pattern