public class A
{
public List<B> _listOfB;
public string Name { get; set; }
public List<B> ListOfB
{
get { return _listOfB; }
}
public A()
{
ListOfB = new List<B>();
}
public void AddB(B b)
{
B.InstanceOfA = this;
ListOfB.Add(b);
}
}
public class B
{
public A InstanceOfA { get; set; }
}
Добавить B к A:
A a = new A();
a.Name = "AAAA";
A.AddB(new B());
A.AddB(new B());
A.AddB(new B());
Это:
foreach(B b in A.ListOfB)
{
Console.WriteLine(b.InstanceOfA.Name);
}
Результатом будет:
AAAA
AAAA
AAAA
Но, как всегда, конечно, есть более одного "хорошего" решения :)
(например, вы можете добавить конструктор в B, где вы передадите ссылку на A)
(позаботьтесь о том, чтобы вы использовали AddB (), а не ListOfB.Add (), в противном случае InstanceOfA не устанавливается (и, конечно, вы можете установить его самостоятельно и в любом случае добавить его в ListOfB)
Надеюсь, это поможет.