#c# #unity3d
#c# #unity3d
Вопрос:
Когда я использую FindObjectOfType<>
и GameObject.FindObjectOfType<>
, это приводит меня к тому же результату, но я не знаю, в чем разница между ними.
Ответ №1:
Быстрый ответ
это та же функция с той же логикой. Но как это может быть? Позвольте мне объяснить:
Объект.FindObjectOfType
Документы:https://docs.unity3d.com/ScriptReference/Object .FindObjectOfType.html
Проверка документации, похоже, что это статическая функция, объявленная на Object
public static T FindObjectOfType();
Статические функции, не имеют ничего общего с состоянием объекта объекта и могут манипулировать только статическими (общими в некотором смысле для всех объектов) данными.
Теперь любой другой объект в C # наследуется от Object
, как и GameObject
. Таким образом, эффективно, когда вы вызываете GameObject.FindObjectOfType
, вы вызываете по наследству исходную функцию.
Имеет ли это смысл?