在C#中,如果我有一个具有集合的对象,是否可以检索包含该集合的对象?

这是一个例子:

public class TestObject
{
    public string name { get; set; }
    public TestObjectCollection testObjects{ get; set; }
}


TestObjectCollection集合继承自CollectionBase,是TestObjects的集合。

这是一个示例实现:


创建一个TestObject,其名称为"Test1"
名称为TestObject"Test1"具有一个TestObjectCollection
名称为TestObject"Test2"


如果我的TestObject的名称为"Test2",如何获取TestObject的名称为"Test1"

谢谢

最佳答案

唯一的方法是在子对象中保留对父对象的引用。您可以在创建子对象时执行此操作:

this.testObjects = new TestObjectCollection(this);


然后在TestObjectCollection的构造函数中:

public TestObject ParentObject { get; set; }

public TestObjectCollection(TestObject parent)
{
    ParentObject = parent;
    ...
}

07-24 12:37