Точно не прокатит. Дело в том что метод GetComponentInChildren(arg); принимает как аргумент только вот такой
тип - Type type или такой Type t на строковой тип оно мне
Assets/Standard Assets/Scripts/HouseScript.cs(15,33): error CS1503: Argument 1: Cannot convert type `string' to `System.Type'
Заметил что метод GetComponent(arg) тоже может принимать Type type, и вот если я делаю вот так
- Код: Выделить всё
public class HouseScript : MonoBehaviour {
public MeshRenderer test;
void Start()
{
test = GetComponent("MeshRenderer") as MeshRenderer;
}
}
то все ок, поскольку как аргумент такой метод может принимать и строковой тип, а если вот так
- Код: Выделить всё
public class HouseScript : MonoBehaviour {
public MeshRenderer test;
void Start()
{
test = GetComponent(MeshRenderer) as MeshRenderer;
}
}
тогда вылазит аналогичная ошибка
Assets/Standard Assets/Scripts/HouseScript.cs(15,32): error CS0119: Expression denotes a `type', where a `variable', `value' or `method group' was expected
В хелпе о этих методах пишет что они возвращают тип компонента.
Returns the component of Type type if the game object...
Но ведь MeshRenderer это ведь тип компонента Сomponenet->Renderer->MeshRenderer или не тип?
И что самое интересное, на жаба на Ура прокатит как строковой тип, так и Тype type. Значит на С# я в корне делаю что то очень глупое. Как мне на С# заюзать этот Тype type?