AssemblyUtility

public static class AssemblyUtility{

private static readonly System.Reflection.Assembly[] assemblies = null;
private static readonly Dictionary<string,Type> cachedTypes;

static AssemblyUtility{
assemblies = AppDomain.CurrentDomain.GetAssemblies();
cachedTypes = new Dictionary<string,Type>();
}

public static System.Reflection.Assembly[] GetAssemblies(){
return assemblies;
}

public static Type[] GetTypes(){
List<Type> allTypes = new List<Type>();
foreach(var item in assemblies){
allTypes.AddRange(item.GetTypes());
}
return allTypes.ToArray();
}

public static Type GetType(string typeName){
if(string.IsNullOrEmpty(typeName))
Debug.LogWarning("Type Name is invalid");

Type type = null;
if(cachedTypes.TryGetValue(typeName,out type))
return type;

type = Type.GetType(typeName);
                if (type != null){
cachedTypes.Add(typeName, type);
return type;
                }

foreach(var item in assemblies){
type = Type.GetType(string.Format("{0}, {1}", typeName, assembly.FullName));
if (type != null){
cachedTypes.Add(typeName, type);
return type;
}
}

return null;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值