我尝试使用UnityEngine.Vector3
获取Type.GetType()
类型,但返回NULL
。它适用于本机类型。
答案 0 :(得分:3)
如果它不是“nativa类型”或在调用程序集内部,则需要使用程序集
阅读本文:
如果typeName包含命名空间而不包含程序集名称,则此方法仅按顺序搜索调用对象的程序集和Mscorlib.dll。如果typeName完全使用部分或完整程序集名称限定,则此方法将在指定的程序集中搜索。如果程序集具有强名称,则需要完整的程序集名称。
typeName (Type.GetType(string type)
的参数)
类型:System.String 要获取的类型的程序集限定名称。请参阅AssemblyQualifiedName。如果类型在当前正在执行的程序集中或在Mscorlib.dll中,则提供由其名称空间限定的类型名称就足够了。 语法如下:
var type = Type.GetType("UnityEngine.Vector3, AssemblyName");
答案 1 :(得分:3)
如果类型位于不同的程序集中,您可能需要指定此类型所在的程序集:
var type = Type.GetType("UnityEngine.Vector3, UnityEngine", true);