2008-10-08 3 views
0

Является ли приемлемой стратегией для дочернего объекта в типичном соотношении OO родитель-ребенка для поднять событие, которое родительский ловит, затем передает значение обратно ребенку через EventArgs?События взаимоотношений с родительскими дочерними объектами

У меня возникла ситуация, когда ребенку нужны данные от родителя, но родитель не имеет этих данных во время создания экземпляра, поэтому я не могу передать его, хотя конструктор.

ответ

1

Почему ребенок должен поднять событие, если у него нет способа узнать, имеет ли родитель уже эти данные?

Если родительский элемент имеет ссылку на дочерний элемент, почему бы не позволить родителям кормить данные ребенку, как только он будет иметь данные? Не требуется никакого события, родитель может также просто вызвать дочерний метод.

Передача данных в событиях args в порядке, вот для чего они предназначены.

0

Кажется немного длинным, если только я чего-то не хватает. Почему бы ребенку не спросить родителя о том, что он хочет знать, и позволить материнцу решить, нужно ли что-то извлекать?

+0

Чтобы ребенок задал родительскому вопросу этот вопрос, ему понадобится ссылка на родителя. Это потребует, чтобы вы создавали экземпляр дочернего элемента со ссылкой на родителя. – 2008-10-08 21:57:45

Смежные вопросы