Так как же Unity находит методы Start() и Update? ⇐ C#
-
Anonymous
Так как же Unity находит методы Start() и Update?
Я не мог понять, как Unity удается вызывать методы Start() и Update() MonoBehavior. Эти методы не являются ни переопределенным методом, ни реализацией интерфейса, но все равно каким-то образом вызываются в нужное время, как только вы включаете их в свой класс - если я унаследую класс от MonoBehaviour и создам метод Start(), он будет немедленно выделен и вызван по адресу первый кадр.
Я вижу использование Reflection для этого, но все, что я читал об отражении, упоминает, что оно медленное, и я ожидаю, что Unity избежит таких «известных медленных» подходов.
Как же Unity находит этот метод Start() в каждом классе? Существует ли какая-то другая концепция ООП вне наследования, реализованная для поддержки этого?
Я не мог понять, как Unity удается вызывать методы Start() и Update() MonoBehavior. Эти методы не являются ни переопределенным методом, ни реализацией интерфейса, но все равно каким-то образом вызываются в нужное время, как только вы включаете их в свой класс - если я унаследую класс от MonoBehaviour и создам метод Start(), он будет немедленно выделен и вызван по адресу первый кадр.
Я вижу использование Reflection для этого, но все, что я читал об отражении, упоминает, что оно медленное, и я ожидаю, что Unity избежит таких «известных медленных» подходов.
Как же Unity находит этот метод Start() в каждом классе? Существует ли какая-то другая концепция ООП вне наследования, реализованная для поддержки этого?
Мобильная версия