老规矩,先介绍一下 Unity 的科普小知识:
C# 中的 GetType
和 typeof
都是返回某个实例具体引用的数据类型System.Type。
GetType()
,该方法继承自Object,所以C#中任何对象都具有GetType()方法,x.GetType(),其中x为变量名typeof()
,()中必须是具体的类名、类型名称等,不可以是变量名称示例如下:
public class Unitytest1 : MonoBehaviour
{
void Start()
{
Type a = typeof(Unitytest1);
var b = Type.GetType("Unitytest1");
var c = this.GetType();
Debug.Log("A 的值:" + a);
Debug.Log("B 的值:" + b);
Debug.Log("C 的值:" + c);
}
}
打印结果:
可以通过 GetType
和 typeof
返回某个实例具体引用的数据类型System.Type
然后再通过这个数据类型做一些其他的事情!