Нет, к сожалению, нет.Сам экземпляр не может знать , где он находится, потому что на самом деле все объекты хранятся в куче памяти , и когда вы ссылаетесь на экземпляр, все, что вам нужно сделать, это создать управляемый указатель на эту область памяти .
Еще больше - несколько объектов могут указывать на один и тот же экземпляр, поэтому может быть отношение один-ко-многим , которое показывает, что можетЭто не может быть какой-либо встроенный механизм, подобный этому.
Так что, если вы хотите создать родительско-дочерние отношения между двумя классами и вам нужен доступ к родителю из ClassC
, вам нужно будет создать какой-то видссылка в этом классе.
Примечание: Благодаря сборщику мусора безопасно иметь круговые ссылки, так как они будут собираться вместе, когда на них больше нет ссылок.Это, однако, является проблемой в Xamarin.iOS , где вы должны помнить, что объекты, производные от классов на основе iOS, также будут подвергаться подсчету ссылок, при котором циклические ссылки сценария приведут к тому, что экземпляры останутсяв памяти навсегда.Чтобы избежать этого, вы можете украсить свои свойства атрибутом [Weak]
, который Xamarin.iOS может распознать и сломать сильную циклическую ссылку.См. документацию для получения дополнительной информации.