Unity中使用c#反射,获取指定命名空间下的指定类型
·
代码如下,如有不足,麻烦请大佬评论区指出
/// <summary>
/// 获取指定命名空间下的类型名称
/// </summary>
/// <param name="_nameSpace">命名空间</param>
/// <param name="typeName">类型名</param>
/// <returns></returns>
public static Type typen(string _nameSpace,string typeName)
{
Type type = null;
try
{
Assembly[] assemblyArray = AppDomain.CurrentDomain.GetAssemblies();
int assemblyArrayLength = assemblyArray.Length;
for (int i = 0; i < assemblyArrayLength; ++i)
{
type = assemblyArray[i].GetType(typeName);
if (type != null && String.Equals(type.Namespace, _nameSpace))
{
return type;
}
}
for (int i = 0; i < assemblyArrayLength; ++i)
{
Type[] typeArray = assemblyArray[i].GetTypes().Where(t=> String.Equals(t.Namespace, _nameSpace,StringComparison.Ordinal)).ToArray();
int typeArrayLength = typeArray.Length;
for (int j = 0; j < typeArrayLength; ++j)
{
if (typeArray[j].Name.Equals(typeName))
{
return typeArray[j];
}
}
}
}
catch (Exception)
{
LogShow.Log("获取类型失败");
}
return type;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)