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